如何在pycharm中导入模块?


200

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

from gnuradio import gr

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

GNURadio可以在Pycharm外部使用python正常工作。一切都已安装并配置为我想要的方式。

格努拉迪奥位于 /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

1
您可以从PyCharm中的可用存储库安装gnuradio。PyCharm->首选项(在Windows上为设置)-> Project-> Project Interpreter->单击“ +”登录软件包部分,然后搜索所需的软件包。如果所需的软件包在已添加的存储库中不可用,则可能必须添加存储库。HTH。
AVP

Answers:


228

添加路径

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

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

pycharm路径选项卡

在路径区域中按+按钮。您可以将路径放入想要识别的模块。

但我不知道路..

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

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

最常见的是,您将具有以下文件夹结构:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

您要在此处将foobarbaz添加到路径。


@smurff,您可能输入了错误的路径。它应该是带有名为gnuradio的文件夹或.py文件的目录。查看更新后的答案。
Brigand

关闭,由于某些原因,我不得不添加父目录:/usr/local/lib/python2.7/sitepackages而不是预期的... / sitepackages / gnuradio。没什么意义。但是,现在我在引用共享库时遇到了更多错误:
smurff

12
@FakeRainBrigand在PyCharm4中看不到“路径”选项卡。
Ankesh Anand

87
在PyCharm 4 CE中:转到“项目解释器”。单击口译员路径右侧的齿轮。它将弹出一个简短的下拉菜单,您应该从中选择“更多..”。在新弹出窗口的右侧,将有一个带有鼠标悬停文本的图标“显示所选解释程序的路径”。单击该按钮。您可以在此新的“解释器路径”弹出窗口中添加路径。@AnkeshAnand
TheGrimmScientist 2015年

3
对于Mac用户,请按左上角的PyCharm,然后按“首选项...”->“项目”->“项目解释器”->单击+标记以添加软件包
ofekp

93

您永远不需要通过环境变量或直接修改路径sys.path。无论您使用的是os(例如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打包用户指南》,该手册由维护官方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创建环境,那么它应该显示在菜单中。如果不是,请单击齿轮,选择Add Local,然后在环境中找到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

51

对我而言,只需将目录标记为源根即可。


3
它对我有用,只需右键单击目录,然后将目录标记为:Sources根目录。谢谢@michaelsnowden
lmiguelvargasf

2
为我工作;奇怪的是,这就像我的第15个PyCharm项目,也是我第一次必须这样做。
罗布·奥斯本

1
我的本地模块可以在运行时找到,但显示为红色花键,好像看不见它们一样。“将目录标记为源根目录”消除了这种困扰,尽管不确定这是正确的方法。
金·米勒

您是否知道pycharm的默认源根是什么(如果未指定)?
Kanishk Tanwar,

41

我的版本是PyCharm Professional版本3.4,并且“ 添加路径”部分有所不同。

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

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


3
至少对我来说,当我单击“确定”时,我回去,发现它仍然不起作用。然后,我返回到与当前解释器关联的路径列表,发现刚才添加的路径已消失。
彼得

添加路径后,您必须单击刷新。关闭窗口。现在“应用”按钮不起作用。切换设置并单击“ apply”(如果处于活动状态)
JuKe

39

在PyCharm 2017中添加路径

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

在此处输入图片说明 显示所有

在此处输入图片说明 选择右侧的底部图标

在此处输入图片说明 单击加号按钮将新路径添加到您的模块


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

我已经做了同样的事情来将路径添加到.jar文件,所以我可以使用一些Java库。但是,我不知道如何指定jar文件,它应该由我的脚本使用。您能进一步帮我吗?
JRsz

谢谢!第二个数字是非常关键的!
Vej

5

不要更改解释器的路径。

改为更改项目结构:

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


1
谢谢,如果项目中的导入看起来不完整,效果很好。
om2c0de

3

对于PyCharm Community Edition 2016.3.2,它是:

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

然后在右侧应该有一个包装图标。将鼠标悬停在它上面时,应该说“显示所选解释程序的路径”。点击它。

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


1

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

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


我的本地模块可以在运行时找到,但显示为红色花键,好像看不见它们一样。“将目录标记为源根目录”消除了这种困扰,尽管不确定这是正确的方法。
金·米勒

0

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

import sys
sys.path.append('C:\\Python27\\Lib\site-packages')

0

我是PyCharm(使用2018.3.4 CE)和Python的新手,所以我僵硬地尝试遵循上述每个建议来访问我知道在系统站点软件包中的PIL(Pillow)软件包。没有工作。当我碰巧注意到“项目浏览器”窗口中项目下的venv / pyvenv.cfg文件时,我打算放弃过夜。我在该文件中找到了“ include-system-site-packages = false”行,因此将其更改为“ true”。问题解决了。


0

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

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

选择口译员设置

2)点击口译员名称右侧的设置按钮,然后选择“显示全部”:

选择显示所有口译员

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

显示所选Python解释器的路径

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

在此处输入图片说明


-1

下载anaconda https://anaconda.org/

完成安装蟒蛇...

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

然后导航到“路径”标签并搜索/ anaconda / bin / python

点击申请

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.