PyCharm无法识别以开发模式安装的模块。

12 浏览
0 Comments

PyCharm无法识别以开发模式安装的模块。

我在PyCharm 3.4.1专业版中有两个纯Python项目。第一个,我们称之为p(类似于包),是以setuptools包的结构组织的(即带有setup.py,所有要求等等,但它没有上传到pypi或任何其他在线存储库)。第二个,我们称之为s(类似于脚本),只是一个Python脚本和两个模块。

在PyCharm中,项目s配置为使用一个专用的虚拟环境,我们称之为venv

我遇到的问题是:当我像这样在venv中安装项目(包)p时:

$ source /path/to/venv/bin/activate
(venv)$ cd /path/to/p
(venv)$ python3 setup.py develop

在项目s中,import p语句会报错,显示没有名为p的模块。然而,当我在s中运行脚本时,一切都正常,唯一的问题是PyCharm IDE抱怨找不到该模块。我可以忍受这个问题,但它非常让人恼火...

为什么会发生这种情况?这是PyCharm的问题还是与打包有关的问题?请参见下面的新闻


项目/包p的结构如下:

p/
|
+- p/
|  |
|  +- __init__.py
|  +- 其他子包、模块等等
+- setup.py
+- README、DESCRIPTION、setup.cfg等等

当我将PyCharm项目p配置为位于自己的虚拟环境中并以开发模式安装时,一切正常。


新闻

这个问题在PyCharm 5.0.4中仍然存在。然而,我成功解决了它,有点类似。

由于某些原因,我不得不从pypi安装另一个包。我通过PyCharm的File -> Settings -> Project: -> Project Interpreter菜单,点击绿色的+,找到该包并点击安装包按钮来安装它。安装完成后,通过python3 setup.py develop安装的包被PyCharm正确识别。显然问题是PyCharm的某些缓存与实际情况不同步。

所以新问题是,能不能告诉PyCharm更新其关于使用的Python环境的缓存?

0