Güncellenme Tarihi: 2019-05-11: Bu yazı çoğunlukla bahseder virtualenv
, ancak Python belgesine göre, modül kurulumuyla ilgili Python 3.5 " venv
sanal ortamlar oluşturmak için kullanımı artık tavsiye edilir " den beri virtualenv
, 3.4 öncesi Python sürümleri için bir alternatiftir. .
güncelleme: 2018-08-17: beri Conda-4.4.0 kullanım conda
için activate
tüm platformlarda Kobrayla
güncellendi: 2017-03-27: PEP 513 - manylinux
PyPI için ikili dosyalar
güncellendi: 2016-08-19: Continuum Anaconda Seçeneği
Bu bir şekilde bir easy_install / pip veya apt-get kopyasıdır .
İçin küresel Python paketleri, kullanım ya Ubuntu Yazılım Merkezi apt apt-get veya sinaptik
Ubuntu, Python'u birçok önemli işlev için kullanır, bu nedenle Python'a müdahale etmek işletim sisteminizi bozabilir. Bu kullandığım asla ana sebebi pip
benim Ubuntu sisteminde, ama bunun yerine kullanmak ya Ubuntu Yazılım Merkezi, sinaptik , apt-get
ya daha yeni sadece apt
, tümü varsayılan olarak gelen paketleri yükleme hangi Ubuntu depo . Bu paketler test edilir, genellikle önceden derlenir, böylece daha hızlı kurulurlar ve sonunda Ubuntu için tasarlanırlar. Ek olarak, gerekli tüm bağımlılıklar da kurulur ve geri yüklenmeleri için bir yükleme günlüğü tutulur. Çoğu paketin Launchpad repolarına sahip olduğunu düşünüyorum, böylece sorunları dosyalayabilirsiniz .
Her iki Ubuntu paketini kullanmanın bir başka nedeni de, bazen bu Python paketlerinin, nereden indirdiğinize bağlı olarak farklı isimlere sahip olmasıdır. Python-chardet, bir zamanlar PyPI'de bir şey ve Ubuntu deposunda bir başka şey adı verilen bir paket örneğidir. Bu nedenle pip install requests
, Ubuntu sürümü farklı bir isme sahip olduğundan, chardet'in sisteminizde zaten kurulu olduğunu farketmeyeceksiniz ve sonuç olarak sisteminizi küçük önemsiz bir şekilde bozacak ama yine de neden bunu yapacaksınız.
Genel olarak, güvenilir kodu yalnızca işletim sisteminize yüklemek istiyorsunuz. Bu yüzden yazarken gergin olmalısın$ sudo pip <anything-could-be-very-bad>
.
Son olarak bazı şeylerin Ubuntu paketlerinden herhangi birinin kullanılmasıyla daha kolaydır. Örneğin pip install numpy
, gfortran, atlas-dev, blas-dev ve lapack-dev'i yüklemediğiniz sürece numpy & scipy'yi yüklemeye çalışırsanız, sonsuz bir derleme hatası akışı göreceksiniz. Ancak, Ubuntu deposu üzerinden numpy & scipy kurmak ...
$ sudo apt-get install python-numpy python-scipy
Şanslısınız, çünkü varolan en yaygın olarak desteklenen ve güncellenen dağıtımlardan biri olan Ubuntu kullanıyorsunuz. Büyük olasılıkla ihtiyaç duyacağınız her Python paketi Ubuntu deposunda ve muhtemelen zaten makinenize kurulmuş durumda. Her 6 ayda bir, Ubuntu’nun son dağıtımıyla yeni bir paket döngüsü çıkacak.
% 100 paketin Ubuntu sisteminize herhangi bir şekilde müdahale etmeyeceğinden eminseniz, pip kullanarak yükleyebilirsiniz ve Ubuntu, dağıtım paketlerini adı verilen bir klasöre yerleştirerek bu paketleri dağıtım paketlerinden ayrı tutmak için yeterince güzeldir. dist-packages/
. Ubuntu deposunda hem pip, virtualenv hem de setuptools bulunur. Bununla birlikte, ikinci Wojciech'in virtualenv'i kullanmasını önerdim.
İçin kişisel Python projelerinde bir virtualenv Pip ve tekerleği kullanın
En son sürüme ihtiyacınız varsa veya modül Ubuntu deposunda değilse, bir sanal aygıt başlatın ve paketi yüklemek için pip kullanın. Her ne kadar pip ve setuptools birleştiyse de, IMO pip kolay kurulum veya distutils yerine tercih edilir, çünkü paket dosya sisteminize kopyalanmadan önce paket tamamen indirilip inşa edilinceye kadar her zaman bekler ve bir esinti yükseltme veya kaldırır. Birçok yönden apt-get'e benzer, çünkü genellikle bağımlılıkları iyi idare eder. Bununla birlikte , bazı bağımlılıkları kendiniz halletmeniz gerekebilir , ancak PEP 513 kabul edildiğinden beri , şimdi manylinux
Ubuntu ve Fedora gibi popüler Linux dağıtımları için Python Paket Endeksi'nde (PyPI) ikili dosyalar var .Örneğin numpy ve SciPy için yukarıda yapmak belirtildiği gibi Ubuntu depolarından yüklediğinizden emin gfortran, atlas-dev, blas-dev ve LAPACK-dev Örneğin, her iki NumPy ve scipy artık Ubuntu için dağıtılan manylinux
tekerlekler varsayılan tarafından kullanılarak OpenBLAS yerine ATLAS'ın Hala kullanarak kaynaktan bunları inşa edebilirsiniz pip seçenekleri --no-use-wheel
ya--no-binary <format control>
.
~$ sudo apt-get install gfortran libblas-dev liblapack-dev libatlas-dev python-virtualenv
~$ mkdir ~/.venvs
~$ virtualenv ~/.venvs/my_py_proj
~$ source ~/.venvs/my_py_proj/bin/activate
~(my_py_proj)$ pip install --no-use-wheel numpy scipy
sudoers
Pip ile kurulum şemasını kullanarak pip, setuptools, virtualenv veya jantların güncellenmiş versiyonlarını kişisel profilinize yüklemek için aşağıdaki "Girişinde değilsiniz" bölümüne bakın --user
. Pip'i kişisel kullanımınız için JF Sebastian'ın yaptığı açıklamada belirtildiği gibi başka bir yanıtla güncellemek için kullanabilirsiniz . NOT: -m
pip güncelleştirirken gerçekten yalnızca MS Windows'ta gereklidir .
python -m pip install --user pip setuptools wheel virtualenv
Pip'in yeni sürümleri tekerlekleri otomatik olarak önbelleğe alır; bu nedenle aşağıdakiler yalnızca eski pip sürümleri için yararlıdır. Bunları defalarca takmanız gerekebileceğinden, bir tekerlek yuvası oluşturmak için pipolu tekerlek kullanmayı düşünün. Tekerlek, virtualenv
v13.0.0’dan beri zaten dahil edilmiştir, bu nedenle sürümünüz virtualenv
çok eskiyse, önce tekerleği takmanız gerekebilir.
~(my_py_proj)$ pip install wheel # only for virtualenv < v13.0.0
~(my_py_proj)$ pip wheel --no-use-wheel numpy scipy
Bu, farklı bir dizin belirtmek için <cwd>/wheelhouse
kullanılacak ikili tekerlek dosyaları yaratacaktır -d
. Şimdi başka bir sanal aygıt başlattıysanız ve daha önce oluşturduğunuz aynı paketlere ihtiyacınız varsa, bunları kullanarak tekerlekli evinizden yükleyebilirsiniz.pip install --find-links=<fullpath>/wheelhouse
Python belgelerine Python Modüllerini Kurma ve Python Paket Dizini ana sayfasındaki paketleri kurma bölümünü okuyun . Ayrıca pip , venv , virtualenv ve tekerlek .
İçeride değilseniz sudoers
ve virtualenv
yüklenmemişseniz.
Sanal ortam kullanmak için ya da root ayrıcalıklarına sahip olmayan bir Linux paylaşımı kullanıyorsanız, ya --user
da --home=<wherever-you-want>
Python kurulum şemalarını Python ile distutils
kullanmak, paketleri istediğiniz değere site.USERBASE
ya da istediğiniz yere kurar . Pip'in daha yeni sürümleri de bir --user
seçeneğe sahiptir. Kullanmayın sudo
!
pip install --user virtualenv
Eğer Pip'in Linux sürümü çok eskiyse, ayarların ayarlanması gibi uzantıları oluşturan bazı paketlerin --install-option
özel seçeneklerinin bazı setup.py
komut dosyalarına geçirilmesinde yararlı olan kurulum seçeneklerini kullanabilirsiniz PREFIX
. Dağıtımı ayıklamanız ve distutils
paketi eski okul biçimini yazarak yüklemek için kullanmanız gerekebilir python setup install [options]
. Bazı okuma belgeleri kurar ve distutils
dokümantasyon yardımcı olabilir.
Python eklemek için güzel yeterlidir site.USERBASE
sizin için PYTHONPATH
değişiklikler sadece seni etkileyecek böylece, başka bir şey önden. İçin popüler bir yer --home
olduğunu ~/.local
. Tam dosya yapısı ve özellikle site paketlerinizin bulunduğu yer için Python modülü kurulum kılavuzuna bakın . Not : Kullanmak eğer --home
kurulum şemasını ardından eklemek gerekebilir PYTHONPATH
kullanarak ortam değişkeni export
senin içinde .bashrc
, .bash_profile
Python kullanılabilir olması yerelleştirilmiş paketleri veya kabuğunda.
Matematik, Bilim, Veri veya Kişisel Projeler için Continuum Anaconda Python Kullanın
Matematik, fen bilgisi veya veri için Python kullanıyorsanız, IMO gerçekten iyi bir seçenek Anaconda-Python Dağıtımı veya Anaconda, Inc. (daha önce Continuum Analytics olarak da bilinir ) tarafından yayımlanan daha temel miniconda dağıtımıdır . Herkes Anaconda'yı kişisel projeler için kullanmaktan faydalanabilse de , varsayılan kurulum NumPy, SciPy, Pandas ve Matplotlib gibi 500'den fazla matematik ve bilim paketi içerirken , miniconda sadece Anaconda-Python ve conda çevre yöneticisini kurar. Anaconda sadece kendi kişisel profiline giriyor, yani: ve Anaconda'nın kişisel yoluna gitmeni önlüyor ya da değiştirmeni tavsiye etmeni tavsiye ediyor /home/<user>/
~/.bashrc
~/.bash_profile
$PATH
conda.sh
senin içinde ~/.bashrc
hangi kullanmanızı sağlar conda activate <env|default is base>
anaconda başlatmak için - bu sadece etkiler sizi - sistem yolu değişmez . Bu nedenle sen do not kök erişimi ya da ihtiyaç sudo
Anaconda kullanmak! Zaten kişisel yoluna Anaconda-Python, miniconda veya Conda eklediyseniz, ardından kaldırmak gerekir PATH
, hesabınızla ilgili ihracat ~/.bashrc
için ve güncelleştirme yeni öneri sistem Python yine birinci olacak, böylece.
Bu, --user
son bölümde açıkladığım seçeneğe biraz benziyor, ancak Python için yalnızca paketler için geçerli değil. Bu nedenle Anaconda, sistem Python'dan tamamen ayrıdır, sistem Python'unuzu etkilemez ve yalnızca onu kullanabilir veya değiştirebilirsiniz. Yeni bir Python sürümü ve tüm kitaplıklarını yüklediğinden, en az 200 MB odaya ihtiyacınız olacaktır, ancak Anaconda ile yapabileceğiniz harika şeyler için önemli olan kitaplıkları önbelleğe almak ve yönetmek için çok zekicedir.
Anaconda, çevrimiçi bir depoda (eski adıyla binstar ) bağımlılıkların gerektirdiği bir Python ikili dosyaları ve kitaplıkları koleksiyonuna sahiptir ve ayrıca kullanıcı paketlerini farklı "kanallar" olarak barındırmaktadır. Anaconda tarafından kullanılan paket yöneticisi conda
, varsayılan olarak Anaconda'dan paket yükler, ancak -c
seçeneği kullanarak farklı bir "kanal" işaret edebilirsiniz .
Paketleri conda
aynen pip
şöyle yükleyin :
$ conda install -c pvlib pvlib # install pvlib pkg from pvlib channel
Ama conda
çok daha fazlasını yapabilir! Aynı zamanda olduğu gibi sanal ortamlar yaratabilir ve yönetebilir virtualenv
. Bu nedenle, Anaconda sanal ortamlar yarattığından, pip
paket yöneticisi, paketleri PyPI'den bir Anaconda ortamına kök ya da olmadan yüklemek için kullanılabilir sudo
. Do not kullanmak sudo
Anaconda ile! Uyarı! Karışım sırasında pip
ve conda
bir Anaconda ortamında, ambalaj bağımlılıklarını daha dikkatli yönetmeniz gerekecek olsa bile dikkatli olun. pip
Conda ortamında başka bir seçenek conda forge kanalını kullanmaktır.ve aynı zamanda bunu varsayılan kanal olarak conda-forge ile taze bir conda ortamında yapmak için de en iyisidir. Son çare olarak, PyPI dışında hiçbir yerde bir paket bulamıyorsanız, kullanmayı düşünün --no-deps
ve kalan bağımlılıkları manuel olarak kullanarak kurun conda
.
Anaconda aynı zamanda bu araca aşina iseniz , Ruby RVM'ye bazı şekillerde benzer . Anaconda conda
ayrıca, farklı Python sürümleriyle sanal ortamlar oluşturmanıza da olanak sağlar . örneğin : conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
Python-3.5 kullanarak yeni bir ortamda bilimsel / veri bilimi yığını oluşturacak py35sci
. Kullanarak ortamları değiştirebilirsiniz conda
. Conda-4.4.0 beri bu şimdi farklı etmek virtualenv
hangi kullanımlara source venv/bin/activate
karşı, ancak önceki Conda-4.4.0conda
komutları vardı aynı şekilde virtualenv
ve aynı zamanda kullanılan source
:
# AFTER conda-4.4
~/Projects/myproj $ conda activate py35sci
# BEFORE conda-4.4
~/Projects/myproj $ source activate py35sci
Ama bekleyin dahası var! Anaconda , Anaconda kanalından istatistiksel programlama için R gibi farklı diller de kurabilir . Conda için oluşturulmuş paket dağıtımlarını yüklemek için kendi kanalınızı bile ayarlayabilirsiniz . Conda-forge , belirtildiği gibi , conda-forge Anaconda kanalında PyPI üzerindeki birçok paketin otomatik yapımını sürdürmektedir .r
son söz
Kişisel gereksinimlerinize ve erişiminize bağlı olarak Python projelerinizi Linux'ta sürdürmek için birçok seçenek vardır. Bununla birlikte, bu cevabdan alacağınızı umduğum bir şey varsa Python paketlerini yüklemek için neredeyse hiç kullanmanıza gerek kalmamasıdırsudo
. Kullanımı, sudo
bir şeylerin yanlış gittiği konusunda size bir koku olmalıdır . Uyarıldın.
İyi şanslar ve mutlu kodlama!