15

编辑:问题是 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 的问题。

4

3 回答 3

7

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

让我给你看一个样本:

当您创建一个新项目时

在此处输入图像描述

选择解释器右侧的框

你会得到这样的画面

在此处输入图像描述

点击加号旁边的第三个按钮,减号和编辑,带有“绿色v”的python标志,然后会出现一个这样的对话框:

在此处输入图像描述

单击确定,然后之前的对话框将像这样更新:

在此处输入图像描述

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

于 2014-02-15T11:33:54.613 回答
0

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

将我的 gnuradio 版本升级到 3.8 已在gnuradio-3.7/lib/site-packages/gnuradio/gr目录下安装了缺少的“_runtime_swig”,然后我必须通过将“C:\Program Files\gnuradio-3.8\bin”文件夹添加到“按照 ImportError 中的答案“路径”系统变量:没有名为 _analog_swig 的模块

这可能对这里面临类似问题的其他人有所帮助。干杯!

于 2020-04-11T11:32:13.930 回答
0

在 PyCharm 中,您可以更改您尝试运行的文件的配置。

使用 pycharm 编辑配置的步骤: 1. 右键单击​​ pycharm 的项目资源管理器中的文件。2. 运行文件。(此运行文件有导入错误)在此处输入图像描述 3、pycharm右上角有一个运行图标。在箭头旁边,有一个下拉框。单击箭头并选择“编辑配置...” 在此处输入图像描述 4. 在编辑配置窗口中,将 python 解释器路径更改为您需要安装的包的路径。在此处输入图像描述 5. 如上一张截图所示,如果您安装了不同版本的 python,该文件需要知道要运行哪个 python 版本。在此处输入图像描述

另外,如果你的机器上同时安装了 python2 和 python3,并且如果你使用 pip install,它会将包安装在 python2 目录下。所以如果你想要你的包在 python3 目录下,你需要使用 pip3 install 。

于 2017-08-30T20:32:20.143 回答