如何在pycharm中导入模块?

smu*_*rff 181 python gnuradio pycharm

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

from gnuradio import gr
Run Code Online (Sandbox Code Playgroud)

作为未定义的引用失败.但是,它在命令行的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

Bri*_*and 214

添加路径

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

然后按configure interpreter,导航到"Paths"选项卡.

pycharm路径选项卡

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

但我不知道路径..

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

>> import gnuradio
>> gnuradio.__file__
"path/to/gnuradio"
Run Code Online (Sandbox Code Playgroud)

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

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py
Run Code Online (Sandbox Code Playgroud)

你想在这里添加foobarbaz到路径.

  • 在PyCharm 4 CE中:转到"项目口译员".单击解释器路径右侧的齿轮.它将显示一个简短的下拉菜单,您应该从中选择"更多...".在新弹出窗口的右侧,将出现一个带有鼠标悬停文本的图标"显示所选解释器的路径".单击该按钮.这个新的"解释器路径"弹出窗口是您可以添加路径的地方.@AnkeshAnand (85认同)
  • @FakeRainBrigand无法在PyCharm4中看到Paths选项卡. (12认同)
  • 对于Mac用户,请按左上方的PyCharm,然后按首选项...->项目->项目解释器->单击`+`符号以添加软件包 (2认同)

dav*_*ism 80

您永远不需要通过环境变量或直接修改路径sys.path.无论您使用os(例如apt-get)还是pipvirtualenv,软件包都将安装到路径上已有的位置.

在您的示例中,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
Run Code Online (Sandbox Code Playgroud)

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

选择一个环境

手动定位env


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

$ python2 -m virtualenv --system-site-packages env
Run Code Online (Sandbox Code Playgroud)

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


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

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

from setuptools import setup, find_packages

setup(
    name='mypackage',
    version='0.1',
    packages=find_packages(),
)
Run Code Online (Sandbox Code Playgroud)

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

$ pip install -e /path/to/first/project
Run Code Online (Sandbox Code Playgroud)


mic*_*den 41

对我来说,只需将目录标记为源根目录即可.

  • 它对我有用,只需右键单击目录,然后将目录标记为:Sources根目录。谢谢@michaelsnowden (2认同)
  • 为我工作;奇怪的是,这就像我的第15个PyCharm项目,也是我第一次必须这样做。 (2认同)
  • 我的本地模块可以在运行时找到,但显示为红色波浪线,好像它们看不到一样。“将目录标记为源根目录”消除了曲线,但不确定这是正确的方法。 (2认同)

che*_*ian 39

我的版本是PyCharm Professional 3.4版,而添加路径部分则不同.

您可以转到"首选项" - >"项目翻译".选择右上角的工具按钮.

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

  • 至少对我来说,当我这样做并单击"确定"时,我回去,发现它仍然无效.然后我回到与当前解释器关联的路径列表,发现我刚添加的路径已经消失. (3认同)

Dor*_*rin 36

在PyCharm 2017中添加路径

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

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

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

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


Dan*_*aun 6

不要更改解释器路径。

改为更改项目结构:

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