Bir python paketinin kullanıcı yerel olarak kurulumunu yapmanın en basit yolu nedir?


32

Yerel bir Python kurulumu için virtualenv ile uğraşmak istemiyorum , sadece PYTHONPATHortam değişkeniyle uğraşmadan yerel olarak birkaç paket kurmak istiyorum , bunu nasıl yaparım?


Virtualenv bir güçlük gibiydi "anlaşma" diyorsunuz. Gerçek olamanın tam tersini buldum. (Belki istiyorsun --system-site-packages?)
Andreas Klöckner

varsayımsal olarak pozlandırıldı :) virtualenv harika ama her kullanım durumuna uymuyor.
Aron Ahmadia 25:12

Yanıtlar:


48

Python ( 2.6 ve 3.0 itibariyle ) şimdi ~ / .local dizininde arama yapmak için yönetici ayrıcalıkları gerektirmeyen yerel kurulumlar için arama yapar, bu nedenle yükleyicinizi bu dizine yönlendirmeniz yeterlidir.

Paketi zaten indirdiyseniz foove el ile yüklemek istiyorsanız, şunu yazın:

cd path/to/foo
python setup.py install --user

Easy_install kullanıyorsanız ve paketin indirilmesini ve kurulmasını istiyorsanız:

easy_install --prefix=$HOME/.local/ foo

RafiK tarafından güncelleme

pip install --user foo

Aşağıdaki cevap tarihsel amaçlar için sağlanmıştır: Eğer indirmek ve kurmak için pip kullanıyorsanız, biraz daha iş:

pip install --install-option="--prefix=$HOME/.local" foo

3
güncelleme: pip şimdi bir kullanıcı bayrağını destekliyor: pip install --user SomePackage (kılavuza bağlantı) Bunu kullanarak, her şey farklı işletim sistemlerinde bile kutudan
çıkmalı

5

Python'u bir dil olarak sevmeme rağmen, Python paketlerini dağıtmak bir karışıklıktır. Python’a aşina olmayan insanları hep onunla mücadele ederken bulurum.

Aron tarafından ana hatlarıyla belirtilen kullanıcı yerel kurulumunun yanında (--user veya --prefix kullanarak), başka bir seçenek EasyBuild ( http://hpcugent.github.com/easybuild/ ) 'dir. Sadece Python paketleri için değil, herhangi bir (bilimsel) yazılım paketi için. EasyBuild bunun için destek sağladığında, bir yazılım paketi oluşturmak ve kurmak temel olarak tek bir komuttur.

Şu anda desteklenen yazılım paketlerinin bir listesi için https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages adresini ziyaret edin .

Feragatname: Ben bir EasyBuild geliştiricisiyim.


2

@Aron: Yerel site paketleri yolunu $ PYTHONPATH ortam değişkenine eklediğinizden emin olun.


Python 2.6 ve Python 3.0 gibi site yoluna otomatik olarak dahil edilir :)
Aron Ahmadia

@AronAhmadia --prefixseçeneği kullanıyorsanız kullanmayın .
Jens Timmerman

@JensTimmerman - site yolu Python'un, herhangi bir zamanda Python çalıştırırken, modüllerin içe aktarılması için başladığında baktığı yerdir. Önek seçeneği, bir Python paketi kurarken belirli bir paketin nereye yükleneceğini belirler. İki tamamen ayrı kavramlar.
Aron Ahmadia,

@AronAhmadia evet, demek istediğim, easy_install --prefix = / tmp kullandığınızda, PYTHONPATH değişkeninize "/tmp/lib/pythonx.x/site-packages" eklemeniz gerekir, aksi halde python tarafından alınmaz.
Jens Timmerman,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.