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 pipbir virtualenv'de kullanın, paketler zaten yolda olan bir konuma yüklenir.
Örneğinizde, GNU Radyo sistem Python 2'nin site-packageshalihazı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/pythonGNU Radyo yüklü olduğu aynı tercüman işaret etmez; özellikle python2.7ikiliyi göstermeyi deneyin . Veya PyCharm, paketleri tespit etmede biraz kötüydü; File > Invalidate Caches > Invalidate and Restartyeniden 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. virtualenvwrapperEnv'yi oluşturmak için veya PyCharm'ı kullandıysanız , menüde görünmelidir. Değilse, vitesi tıklayın, seçin Add Localve 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.pydosya 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