【问题标题】:Trouble importing Python modules on Ninja IDE在 Ninja IDE 上导入 Python 模块时遇到问题
【发布时间】:2013-01-02 08:24:10
【问题描述】:

我一直在尝试将模块导入 Python 的 Ninja IDE。这些是我在终端上工作的模块(numpy、scipy、scitools、matplotlib 和 mpl_toolkits),但在 Ninja 中无法正常运行。

首先我只收到No module named ____ 的消息。我检查了sys.path,发现路径在应用程序内

/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7 是一个典型的路径。我尝试更改路径,但即使在重新启动 ide 后,它似乎也没有对 sys.path 做任何事情。

但我希望路径指向存储模块的位置(即/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages)。通过将路径的内容添加到sys.path 提供的文件夹中,我能够让 numpy 和 scipy 以及 mpl_toolkits 的一部分工作。但是,我仍然无法在 ninja ide 解释器中获得功能齐全的模块。我将在下面给出一些示例,说明当我导入某些模块时会发生什么。

import matplotlib.pyplot
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/matplotlib/__init__.py", line 106, in <module>
ImportError: No module named sysconfig

import mpl_toolkits

from mpl_toolkits.mplot3d import axes3d
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/mpl_toolkits/mplot3d/__init__.py", line 1, in <module>
  File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/mpl_toolkits/mplot3d/axes3d.py", line 14, in <module>
  File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/matplotlib/__init__.py", line 106, in <module>
ImportError: No module named sysconfig

感谢您的帮助。抱歉,我对编程很陌生,但在发帖之前我确实进行了大约一天半的研究。

【问题讨论】:

    标签: python ide module


    【解决方案1】:

    这很奇怪,因为 sysconfig 模块是 Python 2.7 标准库的一部分。 你确定 Ninja 使用的是正确的 Python 版本吗?尝试运行:

    import sys
    print sys.version_info
    

    来自 Ninja,查看它实际使用的是哪个 Python 版本。

    【讨论】:

    • 嗯,它使用2.7.2版本,我的终端版本是2.7.3。这不应该真的有很大的不同吗?我的印象是,只要它是 2.7.x,这些东西就可以无缝运行。
    • 确实不应该。但肯定有问题(例如,您期望的是 2.7.3 而不是 2.7.2,不是吗?)。
    • 不一定。我所有的模块都特定于 python 2.7 和 mac OS X lion。必须有一种方法可以在您的 ide 中运行与您在终端上运行的相同模块,而无需主动更改文件位置。
    • 我也被这个问题迷惑了一段时间。从上面的回复中,我也发现我在 Mac OS X 中的 python 版本是 2.7.1,但是从 ninja-ide 得到的版本是 2.7.2。这真的很奇怪。我试图在 ninja-ide 中设置 python 路径。但它不能工作。有什么办法可以解决吗?
    【解决方案2】:

    我知道这个问题已经存在几个月了,但我想发布我的解决方案以防其他人发现它有用。我遇到了一个非常相似的问题,并且很难在任何地方找到一个快速可行的解决方案。

    我有点迂回的解决方案是简单地使用我想要的 numpy 版本创建一个 virtualenv 文件夹,然后将 NinjaIDE 项目的“virtualenv”属性指向该文件夹。我重新启动了 NinjaIDE 并繁荣,立即工作。

    要通过 GUI 为您的项目设置 virtualenv 属性,请转到项目菜单:

    Project > Open Project Properties > Project Execution,
    

    您应该会看到一个名为“Virtualenv 文件夹”的变量。将其指向您的 virtualenv 的文件夹,它应该可以工作。 (可能需要重新启动 NinjaIDE。)这对我有用,Ubuntu 12.04 下的 NinjaIDE 版本 2.2。

    一个简短的说明:我实际上并没有完全使用 virtualenv——我必须使用“conda env”,因为我使用的是 Anaconda 发行版,显然它还没有经过 virtualenv 的良好测试。 (当我去easy_install virtualenv时,我实际上得到了一个警告。以前没见过。)

    无论哪种方式,这个 stackoverflow 问题都有一些很好的指向 virtualenv 教程的指针:Comprehensive beginner's virtualenv tutorial?

    祝你好运!

    【讨论】:

      【解决方案3】:

      我在尝试使用 Ninja-IDE 的控制台从 /home/paul/lib/python 导入模块时遇到了类似的问题。在查看 Ninja-IDE 的控制台时,我发现 /home/paul/lib/python 没有出现在 syspath 中。但它在终端中做到了!

      通过从终端启动 Ninja-IDE,/home/paul/lib/python 在检查 Ninja-IDE 的控制台时位于 syspath。我现在可以导入我需要的模块了。

      我希望这可能会有所帮助。如果不是对 ebris1 也可能是对其他人。

      【讨论】:

        猜你喜欢
        • 2011-01-17
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        • 2020-06-28
        • 2019-10-03
        • 2021-06-21
        • 1970-01-01
        相关资源
        最近更新 更多