Yolu asla ortam değişkenleri veya aracılığıyla doğrudan değiştirmenize gerek yoktur sys.path
. İster os (örn. apt-get
), İster pip
bir virtualenv'de kullanın, paketler zaten yolda olan bir konuma yüklenir.
Örneğinizde, GNU Radyo sistem Python 2'nin site-packages
halihazırda yolda olan standart konumuna kurulur . PyCharm'ı doğru yorumlayıcıya işaret etmek yeterlidir; eğer öyle değilse, belli olmayan yanlış bir şey var. O olabilir /usr/bin/python
GNU Radyo yüklü olduğu aynı tercüman işaret etmez; özellikle python2.7
ikiliyi göstermeyi deneyin . Veya PyCharm, paketleri tespit etmede biraz kötüydü; File > Invalidate Caches > Invalidate and Restart
yeniden taramasını söylerdi.
Bu cevap, bir proje ortamını nasıl ayarlamanız, farklı senaryolarda paketleri nasıl kurmanız ve PyCharm'ı nasıl yapılandırmanız gerektiğini kapsayacaktır. Aynı grup tarafından resmi Python paketleme araçlarını saklayan Python Ambalaj Kullanım Kılavuzu'na birçok kez atıfta bulunuyorum .
Bir Python uygulaması geliştirmenin doğru yolu bir virtualenv kullanmaktır. Paketler ve sürüm, sistemi veya diğer projeleri etkilemeden yüklenir. PyCharm'ın sanal bir arayüz oluşturmak ve paketleri kurmak için yerleşik bir arayüzü vardır. Veya komut satırından oluşturabilir ve ardından PyCharm'ı işaret edebilirsiniz.
$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools # get the latest versions
$ pip install flask # install other packages
PyCharm projenizde adresine gidin File > Settings > Project > Project Interpreter
. virtualenvwrapper
Env'yi oluşturmak için veya PyCharm'ı kullandıysanız , menüde görünmelidir. Değilse, vitesi tıklayın, seçin Add Local
ve env'de Python ikili dosyasını bulun. PyCharm seçilen paketteki tüm paketleri görüntüler.
GNU Radyosu gibi bazı durumlarda, kurulacak bir paket yoktur pip
, geri kalan GNU Radyosu (ör. apt-get install gnuradio
) Yüklendiğinde paket sistem çapında kurulmuştur . Bu durumda, yine de bir virtualenv kullanmalısınız, ancak bu sistem paketinden haberdar olmanız gerekir.
$ python2 -m virtualenv --system-site-packages env
Ne yazık ki biraz dağınık görünüyor, çünkü tüm sistem paketleri artık env'nizde görünecek, ancak bunlar sadece bağlantılar, sistemi etkilemeden paketleri güvenle yükleyebilir veya yükseltebilirsiniz.
Bazı durumlarda, geliştirdiğiniz birden çok yerel pakete sahip olacaksınız ve bir projenin diğer paketi kullanmasını isteyeceksiniz. Bu durumda, yerel paketi diğer projenin yoluna eklemeniz gerektiğini düşünebilirsiniz, ancak durum böyle değildir. Paketinizi geliştirme modunda yüklemelisiniz . Tüm gereken, paketinize daha sonra düzgün bir şekilde dağıtmak ve dağıtmak için gerekli olacak bir setup.py
dosya eklemektir .
setup.py
İlk projeniz için minimum :
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1',
packages=find_packages(),
)
Ardından ikinci projenizin env'sine yükleyin:
$ pip install -e /path/to/first/project