212

PyCharm中,我添加了 Python 环境/usr/bin/python。然而,

from gnuradio import gr

作为未定义的参考失败。但是,它在命令行的 Python 解释器中运行良好。

GNURadio 在 Pycharm 之外的 python 上工作得很好。一切都按照我想要的方式安装和配置。

Gnuradio位于/usr/local/lib/python2.7/site-packages/gnuradio

还:

PYTHONPATH=/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/gnuradio

4

13 回答 13

240

添加路径

进入文件→设置→项目设置→项目解释器。

然后按配置解释器,并导航到“路径”选项卡。

pycharm 路径选项卡

按路径区域中的 + 按钮。您可以将路径放入您希望它识别的模块。

但是我不知道路径..

打开 python 解释器,您可以在其中导入模块。

>> import gnuradio
>> gnuradio.__file__
"path/to/gnuradio"

最常见的文件夹结构是这样的:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

您想将 foobarbaz 添加到此处的路径中。

于 2013-11-10T03:17:31.003 回答
98

您永远不需要直接修改路径,无论是通过环境变量还是sys.path. 无论您使用操作系统(例如apt-get)还是pip在 virtualenv 中,软件包都将安装到路径上已经存在的位置。

在您的示例中,GNU Radio 安装到系统 Python 2 的标准site-packages位置,该位置已经在路径中。将 PyCharm 指向正确的解释器就足够了;如果不是,还有其他不明显的错误。这可能/usr/bin/python并不指向安装 GNU Radio 的同一个解释器;尝试专门指向python2.7二进制文件。或者,PyCharm 过去在检测包方面有些欠佳;File > Invalidate Caches > Invalidate and Restart会告诉它重新扫描。

这个答案将涵盖您应该如何设置项目环境、在不同场景中安装包以及配置 PyCharm。我多次参考Python Packaging User Guide,由维护官方 Python 打包工具的同一组编写。


开发 Python 应用程序的正确方法是使用 virtualenv。 安装包和版本不会影响系统或其他项目。 PyCharm 有一个内置的接口来创建一个 virtualenv 和安装包。 或者您可以从命令行创建它,然后将 PyCharm 指向它。

$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools  # get the latest versions
$ pip install flask  # install other packages

在您的 PyCharm 项目中,转到File > Settings > Project > Project Interpreter. 如果您使用virtualenvwrapper或 PyCharm 创建了 env,那么它应该会显示在菜单中。如果没有,请单击齿轮,选择Add Local,然后在 env 中找到 Python 二进制文件。PyCharm 将显示所选环境中的所有包。

选择一个环境

手动定位环境


在某些情况下,例如使用 GNU Radio,没有要安装pip的软件包,当您安装 GNU Radio 的其余部分(例如 )时,该软件包已在系统范围内安装apt-get install gnuradio。在这种情况下,您仍然应该使用 virtualenv,但您需要让它知道这个系统包。

$ python2 -m virtualenv --system-site-packages env

不幸的是它看起来有点乱,因为所有系统包现在都会出现在你的环境中,但它们只是链接,你仍然可以安全地安装或升级包而不影响系统。


在某些情况下,您将拥有多个正在开发的本地包,并且希望一个项目使用另一个包。在这种情况下,您可能认为必须将本地包添加到其他项目的路径中,但事实并非如此。你应该在开发模式下安装你的包。所有这一切都需要向您的包添加一个setup.py文件,无论如何都需要该文件才能在以后正确分发和部署包。

setup.py第一个项目的最小值:

from setuptools import setup, find_packages

setup(
    name='mypackage',
    version='0.1',
    packages=find_packages(),
)

然后将其安装在您的第二个项目的环境中:

$ pip install -e /path/to/first/project
于 2015-10-02T15:52:52.057 回答
55

对我来说,这只是将目录标记为源根目录的问题。

于 2015-08-31T21:02:32.753 回答
43

在 PyCharm 2017 中添加路径

文件 -> 设置(或 Ctrl+Alt+S)-> 项目 -> 项目解释器

在此处输入图像描述 显示所有

在此处输入图像描述 选择右侧的底部图标

在此处输入图像描述 单击加号按钮为您的模块添加新路径

于 2017-11-29T20:43:39.870 回答
41

我的版本是 PyCharm Professional edition 3.4,Adding a Path部分不一样。

您可以转到“首选项”->“项目解释器”。选择右上角的工具按钮。

然后选择“更多...”->“显示所选解释器的路径”->“添加”。然后你可以添加一个路径。

于 2014-11-19T02:22:20.200 回答
6

不要更改解释器路径。

改为更改项目结构:

文件 -> 设置 -> 项目 -> 项目结构 -> 添加内容根

于 2019-05-08T14:30:50.267 回答
4

在 PyCharm 2020.1 CE 和 Professional 中,您可以通过执行以下操作向项目的 Python 解释器添加路径:

1)点击项目右下角的解释器,选择“解释器设置”

选择解释器设置

2)单击解释器名称右侧的设置按钮,然后选择“全部显示”:

选择显示所有口译员

3) 确保选择了项目的解释器,然后单击底部工具栏中的第五个按钮,“显示所选解释器的路径”:

显示所选 Python 解释器的路径

4) 单击底部工具栏中的“+”按钮,并添加包含模块的文件夹的路径:

在此处输入图像描述

于 2020-04-28T04:35:44.967 回答
3

对于 PyCharm 社区版 2016.3.2,它是:

“项目解释器”->右上角设置图标->“更多”。

然后在右侧应该有一个包图标。当悬停在它上面时,它应该说“显示选定解释器的路径”。点击它。

然后单击“添加”按钮或按“alt+insert”添加新路径。

于 2017-03-16T07:52:22.223 回答
2

作为快速的脏修复,这对我有用:在有问题的导入之前添加这 2 行:

import sys
sys.path.append('C:\\Python27\\Lib\site-packages')
于 2018-07-06T08:14:12.293 回答
1

在项目资源管理器中,您可以右键单击包含模块的文件夹并将其设置为“源”。

它将在索引中被解析以进行代码完成以及其他项目。

于 2016-11-17T11:38:05.570 回答
0

我是 PyCharm(使用 2018.3.4 CE)和 Python 的新手,所以我死记硬背地尝试遵循上述每个建议来访问我知道在 system-site-packages 中的 PIL(Pillow)包。没有工作。我正要放弃一夜,突然在 Project Explorer 窗口中注意到我的项目下的 venv/pyvenv.cfg 文件。我在该文件中找到了“include-system-site-packages = false”行,因此将其更改为“true”。问题解决了。

于 2019-02-27T18:52:29.167 回答
0

在我的 PyCharm 2019.3 中,选择项目,然后选择 File ---> Settings,然后 Project: YourProjectName,在 'Project Interpreter' 中,点击解释器或设置,---> Show all... ---> 选择当前解释器--->显示所选解释器的路径--->然后单击“添加”以添加您的库,在我的情况下,它是一个轮包

于 2020-09-28T20:33:39.003 回答
-2

下载 anaconda https://anaconda.org/

一旦完成安装anaconda ...

进入设置 -> 项目设置 -> 项目解释器。

然后导航到“路径”选项卡并搜索 /anaconda/bin/python

点击申请

在此处输入图像描述

于 2017-08-21T10:00:32.777 回答