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

from gnuradio import gr

作为未定义引用失败。但是,它在Python解释器的命令行中工作得很好。

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

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

另外:

PYTHONPATH = 7 / usr / local / lib / python / site-packages: / usr / local / lib / python - site-packages gnuradio 7。


当前回答

对于PyCharm社区版2016.3.2,它是:

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

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

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

其他回答

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

添加路径

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

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

在路径区域按下+按钮。您可以将路径放置到您希望它识别的模块。

但是我不知道路。

打开可以导入模块的python解释器。

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

通常你的文件夹结构是这样的:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

你想在路径中添加foobarbaz。

我的版本是PyCharm专业版3.4,添加路径部分不一样。

你可以点击“首选项”——>“项目解释器”。选择右上角的工具按钮。

然后选择“更多…”——> "显示所选解释器的路径"——> "添加"。然后可以添加路径。

对我来说,还有另一个问题。如果你试图添加一个过去有.idea文件夹的文件夹,但你当前的项目有自己的.idea文件夹,你的pycharm可能会因为某些原因而混淆——即使你有正确的python/conda env。对我来说,删除其他项目的。idea文件夹修复了它可以找到明显正确安装的pkgs的困惑。然后,它能够在pycharm编辑器GUI中找到它们,snf停止将它们置于红色之下。

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

In your example, GNU Radio is installed to the system Python 2's standard site-packages location, which is already in the path. Pointing PyCharm at the correct interpreter is enough; if it isn't there is something else wrong that isn't apparent. It may be that /usr/bin/python does not point to the same interpreter that GNU Radio was installed in; try pointing specifically at the python2.7 binary. Or, PyCharm used to be somewhat bad at detecting packages; File > Invalidate Caches > Invalidate and Restart would tell it to rescan.

这个答案将涵盖如何设置项目环境,在不同的场景中安装包,以及配置PyCharm。我多次参考Python打包用户指南,它是由维护官方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项目中,转到文件>设置>项目>项目解释器。如果您使用virtualenvwrapper或PyCharm来创建env,那么它应该显示在菜单中。如果不是,单击齿轮,选择添加本地,并在env. exe文件中找到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(),
)

然后将它安装到第二个项目的env中:

$ pip install -e /path/to/first/project