У меня есть два чистых проекта python в PyCharm 3.4.1 Professional Edition. Первый, позвоните ему p
(например, пакет), структурирован как пакет setuptools (т.е. С setup.py, все требования и т.д., Однако он не загружается в pypi или в любой другой онлайн-репозиторий). Второй, позвольте ему s
(например, script), является всего лишь python script вместе с двумя модулями.
Проект s
- это (в PyCharm), настроенный на использование выделенного virtualenv, позвоните ему venv
.
Проблема заключается в следующем: когда я устанавливаю проект (пакет) p
в venv
следующим образом:
$ source /path/to/venv/bin/activate
(venv)$ cd /path/to/p
(venv)$ python3 setup.py develop
в командах PyCharm в проекте s
, import p
ошибочны с сообщением. Нет модуля с именем p. Однако, когда я запускаю script в s
, все в порядке, единственная проблема заключается в том, что IDE PyCharm жалуется на невозможность найти модуль. Я могу жить с этим, но это очень раздражает...
Почему это происходит? Это вещь, связанная с PyCharm или с упаковкой? См. НОВОСТИ ниже.
Проект/пакет p
имеет следующую структуру:
p/
|
+- p/
| |
| +- __init__.py
| +- other subpackages, modules, etc.
+- setup.py
+- README, DESCRIPTION, setup.cfg, etc.
Когда я настраиваю проект PyCharm p
, чтобы жить в своем собственном virtualenv и устанавливать его там в режиме разработки, все работает нормально.
Новости
Эта проблема все еще присутствует в PyCharm 5.0.4. Однако мне удалось решить эту проблему.
По некоторым причинам мне пришлось установить еще один пакет из pypi. Я сделал это через PyCharm, выбрав File → Settings → Project: → Project Interpreter, нажав зеленую кнопку +
, найдя пакет и нажав кнопку Install Package. После установки пакет, установленный python3 setup.py develop
, хорошо известен PyCharm. Очевидно, проблема заключалась в том, что PyCharm не синхронизировал кеш с реальностью.
Итак, новый вопрос: может ли PyCharm сказать обновить свои кеши относительно используемой среды python?