我在PyCharm 3.4.1 Professional Edition中有两个纯python项目。第一个叫做p(像包一样),结构为setuptools包(即具有setup.py,所有要求等,但是没有上载到pypi或任何其他在线存储库)。第二个,我们称之为s(如脚本),它只是一个Python脚本以及两个模块。

项目s(在PyCharm中)配置为使用专用的virtualenv,我们将其称为venv

我遇到的问题如下:当我在p中安装项目(程序包)venv时,如下所示:

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

在项目s中的PyCharm中,import p语句与消息No名为p的模块错误。但是,当我在s中运行脚本时,一切都很好,唯一的问题是PyCharm IDE提示无法找到该模块。我可以忍受,但这很烦人...

为什么会这样?是PyCharm物品还是包装相关物品?请参阅下面的 NEWS

项目/软件包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做到了这一点,方法是转到文件->设置->项目:->项目解释器,然后单击绿色的+,找到该软件包并按下Install Package按钮。安装后,PyCharm会很好地识别python3 setup.py develop安装的软件包。显然,问题在于PyCharm没有与现实同步的缓存。

因此,新问题是,是否可以告知PyCharm有关使用的python环境的缓存?

最佳答案

从Pycharm 2016.1.4(专业版)开始,似乎打开一个不同的项目(例如通过``最近打开'')然后打开原始项目,使Pycharm重新为已安装的软件包编制索引,从而识别开发安装的软件包。

这对我来说足够了。

关于python - PyCharm无法识别以开发模式安装的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26193365/

10-12 16:46
查看更多