Вопрос-Ответ

How do I use installed packages in PyCharm?

Как мне использовать установленные пакеты в PyCharm?

В PyCharm я добавил среду Python /usr/bin/python и GNU Radio отлично работает вне PyCharm. Однако импортировать его в PyCharm не удается с неопределенной ссылкой.

from gnuradio import gr

GNU Radio находится по адресу /usr/local/lib/python2.7/site-packages/gnuradio и я добавил его в PYTHONPATH.

Мой PYTHONPATH это /usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/gnuradio.

Переведено автоматически
Ответ 1

Добавление пути

Перейдите в Файл → Настройки → Настройки проекта → Интерпретатор проекта.

Затем нажмите configure interpreter и перейдите на вкладку "Пути".

вкладка пути к pycharm

Нажмите кнопку + в области Путей. Вы можете указать путь к модулю, который вы хотите, чтобы он распознал.

Но я не знаю пути..

Откройте интерпретатор python, откуда вы можете импортировать модуль.

>> import gnuradio
>> gnuradio.__file__
"path/to/gnuradio"

Чаще всего у вас будет структура папок, подобная этой:

foobarbaz/
gnuradio/
__init__.py
other_file.py

Вы хотите добавить foobarbaz в путь здесь.

Ответ 2

Вам никогда не потребуется изменять путь напрямую, ни через переменные окружения, ни sys.path. Независимо от того, используете ли вы ОС (например, apt-get) или pip в virtualenv, пакеты будут установлены в папку, уже указанную в path.

В вашем примере GNU Radio устанавливается в стандартную папку системного Python 2 site-packages, которая уже находится в path. Достаточно указать PyCharm на правильный интерпретатор; если это не так, значит, что-то еще не так, что не очевидно. Возможно, что /usr/bin/python не указывает на тот же интерпретатор, в котором было установлено GNU Radio; попробуйте указать конкретно на python2.7 двоичный файл. Или, раньше PyCharm плохо распознавал пакеты; File > Invalidate Caches > Invalidate and Restart посоветовал бы ему выполнить повторное сканирование.

В этом ответе будет рассказано о том, как следует настраивать среду проекта, устанавливать пакеты в различных сценариях и настраивать PyCharm. Я несколько раз ссылаюсь на Руководство пользователя по упаковке Python, написанное той же группой, которая поддерживает официальные инструменты упаковки Python.


Правильный способ разработки приложения на Python - использовать virtualenv. Пакеты и версия устанавливаются без ущерба для системы или других проектов. PyCharm имеет встроенный интерфейс для создания virtualenv и установки пакетов. Или вы можете создать его из командной строки, а затем указать PyCharm на него.

$ 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 перейдите по ссылке File > Settings > Project > Project Interpreter. Если вы использовали virtualenvwrapper или PyCharm для создания env, то это должно отображаться в меню. Если нет, щелкните шестеренку, выберите Add Local и найдите двоичный файл Python в env. PyCharm отобразит все пакеты в выбранной env.

выберите env

вручную найдите env


В некоторых случаях, например, с GNU Radio, нет пакета для установки pip, пакет был установлен в масштабах всей системы при установке остальной части GNU Radio (например. apt-get install gnuradio). В этом случае вам все равно следует использовать virtualenv, но вам нужно будет уведомить его об этом системном пакете.

$ python2 -m virtualenv --system-site-packages env

К сожалению, это выглядит немного неаккуратно, потому что все системные пакеты теперь будут отображаться в вашем env, но это всего лишь ссылки, вы все равно можете безопасно устанавливать или обновлять пакеты, не затрагивая систему.


В некоторых случаях у вас будет несколько локальных пакетов, которые вы разрабатываете, и вы захотите, чтобы один проект использовал другой пакет. В этом случае вы можете подумать, что вам нужно добавить локальный пакет в путь к другому проекту, но это не так. Вы должны установить свой пакет в режиме разработки. Все, что для этого требуется, - это добавить setup.py файл в ваш пакет, который в любом случае потребуется для правильного распространения и развертывания пакета позже.

Минимум setup.py для вашего первого проекта:

from setuptools import setup, find_packages

setup(
name='mypackage',
version='0.1',
packages=find_packages(),
)

Затем установите его в env вашего второго проекта:

$ pip install -e /path/to/first/project
Ответ 3

Для меня это был просто вопрос маркировки каталога как исходного корневого.

Ответ 4

Добавить путь в PyCharm 2017

Файл -> Настройки (или Ctrl + Alt + S) -> Проект -> Интерпретатор проекта

введите описание изображения здесь
Показать все

введите описание изображения здесь
Выберите нижний значок справа

введите описание изображения здесь
Нажмите на кнопку "Плюс", чтобы добавить новый путь к вашему модулю

python