zeg*_*jan 32 python setuptools pycharm python-3.x
我在PyCharm 3.4.1专业版中有两个纯python项目.第一个,我们称之为p(像包),结构为setuptools包(即使用setup.py,所有要求等,但它不会上传到pypi或任何其他在线存储库).第二个,我们称之为s(如脚本),只是一个python脚本和两个模块.
Project s(在PyCharm中)被配置为使用专用的virtualenv,让我们称之为venv.
我遇到的问题如下:当我像这样安装项目(包)p时venv:
$ source /path/to/venv/bin/activate
(venv)$ cd /path/to/p
(venv)$ python3 setup.py develop
Run Code Online (Sandbox Code Playgroud)
在项目中的PyCharm中s,import p语句是错误的,消息没有名为p的模块.但是,当我运行脚本时s,一切都很好,唯一的问题是PyCharm IDE抱怨无法找到模块.我可以忍受这个,但它很烦人......
为什么会这样?它是PyCharm的东西还是包装相关的东西?见下面的新闻.
项目/包p具有以下结构:
p/
|
+- p/
| |
| +- __init__.py
| +- other subpackages, modules, etc.
+- setup.py
+- README, DESCRIPTION, setup.cfg, etc.
Run Code Online (Sandbox Code Playgroud)
当我将PyCharm项目配置为p自己的virtualenv并在开发模式下安装时,一切正常.
新闻
PyCharm 5.0.4中仍然存在此问题.但是,我成功地解决了它.
出于某些原因,我不得不从pypi安装另一个包.我通过PyCharm进入文件 - >设置 - >项目: - >项目解释器,点击绿色+,找到包并按下安装包按钮.安装完成后python3 setup.py develop,PyCharm会很好地识别安装的软件包.显然问题是PyCharm没有一些缓存与现实同步.
所以新的问题是,PyCharm可以被告知更新其有关使用过的python环境的缓存吗?
zeg*_*jan 22
从Pycharm 2016.1.4(专业版)开始,似乎打开一个不同的项目(例如通过Open Recent)然后打开原始项目使Pycharm重新索引已安装的软件包,从而识别开发安装的软件包.
这对我来说已经足够了.
小智 18
在项目窗格中,保存p的目录需要标记为source.可用于:右键单击 - >"将目录标记为" - >"源根".
注意:如果在"编辑配置"(默认)中选中了相应的选项复选框,则此设置还会在运行菜单执行期间将其添加到PYTHONPATH.
Con*_*ngo 15
我有一段时间让PyCharm认出我刚刚编写的模块中的一个类.
问题是PyCharm似乎默认不导入模块类路径,这需要两个单独的修复来纠正.
右键单击模块名称,并将其标记为"Source":
出于某种原因,默认情况下,在PyCharm中,它实际上并没有将标记为"Sources Root"的目录添加到Python路径中.通过打开它来修复此问题.
请注意上图中的"起始脚本".我假设手动将这些行添加到Python脚本也会获得相同的结果.
小智 10
解决方案
在下拉列表中,单击“全部显示...”。可用的解释器显示在“项目解释器”对话框中。
选择所需的解释器。
在项目解释器对话框的工具栏中,单击按钮图标显示路径(最后一个选项)。所选解释器的现有路径显示在“解释器路径”对话框中。
瞧!!你已准备好出发。
解释
每个项目都引用一个解释器,您可以在settings->project interpreter 中找到它。现在这个解释器使用一堆路径来寻找一个库。默认情况下,它有站点包和一堆其他路径。
现在,由于您使用了pip develop -e或 python setup.py develop,因此会创建一个指向包存储库的动态链接,而不是站点包目录中的包安装。所以我们的包的源路径不在这里,我们需要做的是将我们的源路径添加到解释器的路径中 以使其工作
参考:
| 归档时间: |
|
| 查看次数: |
31322 次 |
| 最近记录: |