PyCharm无法识别在开发模式下安装的模块

时间:2014-10-04 13:36:43

标签: python python-3.x pycharm setuptools

我在PyCharm 3.4.1专业版中有两个纯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语句与消息没有名为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去了File - >设置 - >项目: - > Project Interpreter,点击绿色+,找到包并按下Install Package按钮。安装后,python3 setup.py develop安装的软件包得到了PyCharm的认可。显然问题是PyCharm没有一些缓存与现实同步。

所以新的问题是,PyCharm可以被告知更新其有关使用过的python环境的缓存吗?

8 个答案:

答案 0 :(得分:18)

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

这对我来说已经足够了。

答案 1 :(得分:17)

在项目窗格中,保存p的目录需要标记为source。可用于:右键单击 - > “Mark Directory As” - > “来源根源”。

注意:如果在“编辑配置”(默认)中选中了相应的选项复选框,则此设置也会在运行菜单执行期间将其添加到PYTHONPATH。

答案 2 :(得分:12)

我有一段时间让PyCharm认出我刚刚编写的模块中的一个类。

问题是PyCharm似乎默认不导入模块类路径,这需要两个单独的修复来纠正。

第1步

右键单击模块名称,并将其标记为" Source":

enter image description here

第2步

出于某种原因,默认情况下,在PyCharm中,它实际上并没有添加标记为" Sources Root"到Python路径。通过打开它来修复此问题。

enter image description here

专家额外

注意"起始脚本"在上图中。我假设手动将这些行添加到Python脚本中也会得到相同的结果。

经过测试

  • Windows 10 x64。
  • PyCharm Community Edition 2017.2.3。

答案 3 :(得分:2)

<强>解决方案

  • 转到设置 - &gt;项目口译员
  • 点击车轮框架(设置齿轮图标)按钮。
  • 在下拉列表中,单击全部显示....可用的口译员显示在项目口译员对话框中。

  • 选择所需的口译员。

  • 在“项目解释器”对话框的工具栏中,单击按钮图标显示路径(最后一个选项)。所选解释器的现有路径显示在“解释器路径”对话框中。

  • 添加您的包的路径(您开发的包)here.ex / home /../ repo-name

瞧!!你已准备好出发。

<强>解释
每个项目都指的是一个解释器,你可以在 settings-&gt;项目解释器中找到它。现在,这个解释器使用一堆Paths来查找库。默认情况下,它有站点包和一堆其他路径 现在,既然您使用了 pip develop -e python setup.py develop ,就会创建一个动态链接,指向您的包的存储库,而不是site-packages目录中的包安装。所以我们的包的源路径不在这里,我们需要做的是将我们的源路径添加到解释器的路径以使其工作

参考:

  1. https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000019690-PyCharm-not-recognize-development-library-
  2. https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-reloading-interpreter-paths.html

答案 4 :(得分:1)

我和你的一样有同样的问题。

似乎pycharm无法识别setup.py直接安装的模块,但可以识别由pip安装的模块。 最后,我使用 pip install src_path ,但每次修改源代码时都要 pip install

答案 5 :(得分:0)

对我有用的解决方法:

在同一窗口(工作区)中打开PyCharm中的两个项目。现在打开设置窗口,在“项目 - &gt;项目依赖项”下,您现在可以选择项目s取决于项目p。导入和自动完成现在可以正常工作。

答案 6 :(得分:0)

我刚刚使用Pycharm安装了软件包,然后问题解决了。

答案 7 :(得分:0)

问题可能是你的翻译路径。检查解释器指向的位置。在大多数情况下它是〜/ PycharmProjects / trials / venv / bin / python,这可能指向作为Pycharm的一部分安装的python浴缸

将python的softlink更改为你的/ usr / bin / python路径,事情应该可以正常工作