2013-11-10 77 views
100

PyCharm,我已经添加了Python环境/usr/bin/python。然而,如何在pycharm中导入模块?

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

+1

好了,你们是怎么安装gnuradio? – LotusUNSW

回答

115

加上路径

进入文件→设置→工程设置→项目翻译。

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

pycharm path tab

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

但我不知道路径..

打开Python解释器,你可以导入模块。

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

最常见的是你有一个文件夹结构是这样的:

foobarbaz/ 
    gnuradio/ 
    __init__.py 
    other_file.py 

你想foobarbaz这里添加到路径。

+0

我试过了,但没有奏效。 – smurff

+0

@smurff,你可能会走错路。它应该是具有名为gnuradio的文件夹或.py文件的目录。查看更新后的答案。 – FakeRainBrigand

+0

关闭,对于某些reasone,我不得不按照预期的那样添加parrent目录:/usr/local/lib/python2.7/sitepackages,而不是.../sitepackages/gnuradio。没有多大意义。但是,现在我收到更多引用共享库的错误: – smurff

35

我的版本是PyCharm专业版3.4和添加路径部分是不同的。

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

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

+2

至少对我来说,当我这样做并点击“确定“,我回去,发现它仍然不起作用。然后我回到与当前解释器关联的路径列表,并发现我刚刚添加的路径已经消失。 – Peter

+0

添加完路径后,您必须点击刷新。关闭窗户。现在应用按钮不活动。切换设置并点击应用,如果它是活动 – JuKe

25

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

+1

它为我工作,只需右键单击目录,然后将目录标记为:来源根目录。谢谢@michaelsnowden – lmiguelvargasf

+1

为我工作;奇怪的是,这就像我的第十五个PyCharm项目,也是我第一次不得不这样做。 –

+0

我的本地模块可以在运行时找到,但显示为红色的波浪形,就好像它们不可见一样。 “将目录标记为来源根目录”,但不知道这是正确的方法。 –

56

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

在您的示例中,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打包工具的同一组织编写的。


The correct way to develop a Python application is with a virtualenv.软件包和版本的安装不影响系统或其他项目。 PyCharm has a built-in interface to create a virtualenv and install packages.或者你可以从命令行创建它,然后指向它的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将显示​​所选env中的所有包。

choose an env

manually locate env


在某些情况下,如用GNU收音机,也没有包安装与pip,包安装系统范围内,当你安装GNU的其余部分收音机(例如apt-get install gnuradio)。在这种情况下,你仍然应该使用virtualenv,但是你需要知道这个系统包。

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

不幸的是,它看起来有点乱,因为所有的系统包现在将出现在您的ENV,但它们只是链接,您仍然可以安全地安装或升级软件包,而不影响系统。


在某些情况下,您将有多个您正在开发的本地软件包,并希望一个项目使用另一个软件包。在这种情况下,您可能认为必须将本地程序包添加到其他项目的路径中,但情况并非如此。您应该在development mode中安装包装。所有这些都需要adding a setup.py file to your package,无论如何这都是必要的,以便稍后正确分发和部署软件包。

from setuptools import setup, find_packages 

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

然后在你的第二个项目的ENV它安装:

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

在项目资源管理器,您可以用鼠标右键单击该文件夹,其中模块包含

最小的为第一个项目setup.py并设置为“来源”。

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

+0

我的本地模块可以在运行时找到,但显示为红色的波浪形,就好像它们不能被看到一样。 “将目录标记为来源根目录”,但不知道这是正确的方法。 –

4

对于PyCharm社区版2016年3月2日,它是:

“项目翻译风波” - >右上角的设置图标 - > “更多”。

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

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

0

下载蟒蛇 https://anaconda.org/

做一次安装蟒蛇...

走进设置 - >项目设置 - >项目翻译。

然后导航到 “路径” 选项卡,然后搜索/蟒蛇/斌/ Python的

点击申请

enter image description here

6

添加路径PyCharm 2017年

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

enter image description here 显示所有

enter image description here 右侧选择底部的图标

enter image description here 点击加号按钮,新的路径添加到您的模块

+0

最后正常答案,只是想知道默认的pip size_packages文件夹在哪里粘贴。 –