使用Pycharm导入错误

时间:2013-11-10 15:44:41

标签: python python-2.7 ide pycharm

编辑:问题是Pycharm没有加载LD_LIBRARY_PATH环境变量。如果我将它添加到Pychar的环境中,一切都有效。为什么不加载呢?

我在导入gnuradio模块时遇到问题。首先,如果我只是从命令行运行python文件,一切都有效,并且所有内容在解释器中都可以正常加载。使用pycharm只有一个问题。此外,GNU Radio已正确安装。

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

我添加了python解释器,并且由于模块从解释器加载得很好,我不知道为什么我必须添加pycharm的路径。无论如何,我添加了gnuradio模块所在的位置:/usr/local/lib/python2.7/site-packages/gnuradio;但是,这是错误的。正确的加载路径是父目录:/usr/local/lib/python2.7/site-packages。我想知道为什么会这样。

更重要的是,加载库后我得到了这个编译错误:

File "/usr/local/lib/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 24, in swig_import_helper
    _mod = imp.load_module('_runtime_swig', fp, pathname, description)
ImportError: libgnuradio-pmt-3.7.2git.so.0.0.0: cannot open shared object file: No such file or directory

有问题的文件位于/usr/local/lib,但是我已经添加了所有可能的路径来告诉它它在哪里但没有运气。另外,我已将/usr/lib:/usr/local/lib添加到LD_LIBRARY_PATH并运行ldconfig但没有成功。我唯一能想到的就是。

我做错了什么?

如果我不使用PyCharm,一切正常。这是关于Pycharm的一个问题。

3 个答案:

答案 0 :(得分:7)

您是否曾尝试使用虚拟环境在pycharm上设置解释器?如果您需要一些库,它有一个包管理器,允许您使用简单的gui安装库。

让我给你看一个例子:

创建新项目时

enter image description here

选择解释器右侧的框

你会得到一个像这样的屏幕

enter image description here

单击加号,减号和编辑旁边的第3个按钮,使用“绿色v”打开python徽标,然后会出现如下对话框:

enter image description here

单击确定然后先前的对话框将更新如下:

enter image description here

单击安装按钮,将出现一个包含存储库列表的对话框,选择您需要的库并在虚拟环境解释器上安装。

答案 1 :(得分:0)

In PyCharm, you can change the configuration of the file you are trying to run.

Steps to edit configuration using pycharm: 1. Right click on the file in project explorer of the pycharm. 2. Run the file. (This run file with import errors)enter image description here 3. There is a run icon at the top right corner of pycharm. Next to the arrow, there is an dropdown box. Click on the arrow and select 'Edit configurations ...'enter image description here 4. In the edit configuration window, change the python interpreter path to the path that has the package you need installed.enter image description here 5. Like the one shown in the last snapshot, if you have different version of python installed, the file needs to know which python version to run.enter image description here

Also, if you have both python2 and python3 installed in your machine and if you use pip install, it will install the packages under python2 directory. so you need to used pip3 install if you want your packages under python3 directory.

答案 2 :(得分:0)

昨天我遇到了类似的问题,但是在带有gnuradio-3.7版本的Windows 8.1平台上。如提出的问题https://github.com/gnuradio/gnuradio/issues/2637所述,似乎gnuradio-3.7/lib/site-packages/gnuradio/gr目录中缺少“ _runtime_swig”。 gnuradio-3.8版本已提供此问题的修补程序。

将我的gnuradio版本升级到3.8已在gnuradio-3.7/lib/site-packages/gnuradio/gr目录下安装了丢失的“ _runtime_swig”,然后我不得不通过添加`C:\ Program Files \ gnuradio-来将丢失的依赖项(DLL)修复到此模块。遵循ImportError: No module named _analog_swig

中的答案,将3.8 \ bin'文件夹添加到“ Path”系统变量

这可能对此处遇到类似问题的其他人有所帮助。干杯!