Как импортировать модули в pycharm?

В PyCharm я добавил среду Python /usr/bin/python. Тем не менее,

from gnuradio import gr

не работает как ссылка undefined. Однако он отлично работает в интерпретаторе Python из командной строки.

GNURadio отлично работает с питоном вне Pycharm. Все установлено и настроено так, как я хочу.

Gnuradio находится в /usr/local/lib/python2.7/site-packages/gnuradio

также:

PYTHONPATH =/USR/локальные/Library/python2.7/сайт-пакеты:/usr/local/lib/python2.7/site-packages/gnuradio

Ответ 1

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

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

Затем нажмите настроить интерпретатор и перейдите на вкладку "Пути".

pycharm path tab

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

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

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

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

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

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

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

Ответ 2

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

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

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


Правильный способ разработки приложения Python - с помощью virtualenv. Пакеты и версия установлены без использования системы или других проектов. PyCharm имеет встроенный интерфейс для создания виртуальных и установочных пакетов. Или вы можете создать его из командной строки, а затем указать 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 Professional edition 3.4, а часть Добавление пути отличается.

Вы можете перейти к "Предпочтениям" → "Переводчик проекта". Выберите кнопку инструмента в правом верхнем углу.

Затем выберите "Подробнее..." → "Показать путь для выбранного интерпретатора" → "Добавить". Затем вы можете добавить путь.

Ответ 5

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

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

enter image description here Показать все

enter image description here Выберите нижний значок справа

enter image description here Нажмите на кнопку "плюс", чтобы добавить новый путь к вашему модулю.

Ответ 6

Для PyCharm Community Edition 2016.3.2 это:

"Project Interpreter" → Значок правой правой настройки → "Дополнительно".

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

Затем нажмите кнопку "Добавить" или нажмите "alt + insert", чтобы добавить новый путь.

Ответ 7

В Project Explorer вы можете щелкнуть правой кнопкой мыши папку, в которой находится модуль, и установить его как "Источник".

Он будет проанализирован в индексе для завершения кода, а также для других элементов.

Ответ 8

НЕ изменяйте путь интерпретатора.

Вместо этого измените структуру проекта:

Файл → Настройки → Проект → Структура проекта → Добавить корень контента

Ответ 9

Как быстрое грязное исправление, это сработало для меня: добавив эти 2 строки перед проблемным импортом:

import sys
sys.path.append('C:\\Python27\\Lib\site-packages')

Ответ 10

Я новичок в PyCharm (использую 2018.3.4 CE) и Python, поэтому я старательно пытался следовать каждому из приведенных выше предложений, чтобы получить доступ к пакету PIL (Pillow), который, как я знал, был в system-site-packages. Никто не работал. Я собирался сдаться ночью, когда случайно заметил файл venv/pyvenv.cfg под моим проектом в окне Project Explorer. Я нашел строку "include-system-site-packages = false" в этом файле и изменил ее на "true". Задача решена.

Ответ 11

Скачать anaconda https://anaconda.org/

после завершения установки anaconda...

Перейдите в Настройки → Настройки проекта → Переводчик проекта.

Затем перейдите на вкладку "Пути" и выполните поиск /anaconda/bin/python

нажмите "Применить"

enter image description here