【问题标题】:Adding a module (Specifically pymorph) to Spyder (Python IDE)将模块(特别是 pymorph)添加到 Spyder(Python IDE)
【发布时间】:2012-05-30 13:01:39
【问题描述】:

我已经设法在我的 Mac 上安装并运行了 spyder,但我想添加一些默认情况下不包含的模块(mahotas 和 pymorph)。

我通过终端中的 easy_install 安装了两者,并且似乎都安装了没有任何错误消息。从终端运行 python 并使用 import mahotasimport pymorph 工作得很好,没有错误消息。但是,当我从 spyder 中的脚本运行相同的行时,会出现以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 493, in runfile
 execfile(filename, namespace)
File "/Users/Name/Documents/Python/dna.py", line 11, in <module>
 import pymorph
ImportError: No module named pymorph

我现在要做的就是运行导入行,就是这样。我似乎找不到任何关于此的信息。我猜 spyder 使用单独的 python 安装,并且通过终端安装模块仅将它们安装到 python 的系统版本。如何将它们添加到 spyder?

规格:

Mac OSX 10.7.4

Spyder 2.1.9

【问题讨论】:

    标签: python import module easy-install spyder


    【解决方案1】:

    好的,还没有人回答这个问题,但我在 spyder 讨论板上发帖后设法弄清楚并让它工作。对于您要添加的任何未包含在 spyder 的默认搜索路径中的库,您需要进入 Tools 并通过PYTHONPATH 管理器。然后,您需要从同一菜单更新模块名称列表并在更改生效之前重新启动 spyder。

    【讨论】:

    • 谢谢 - 为我工作。而且,您不需要重新启动 Spyder,只需关闭解释器,然后右键单击并“打开解释器”即可重新启动 python 解释器。使用新路径。
    • 实施此解决方案后,调用 ibpy EReader 文件的任何操作都可能在第 29 行失败,并显示为SyntaxError: cannot assign to None。如果您收到此删除或注释掉NoneReference
    • 在菜单 Spyder/PYTONPATH 管理器下
    • 通过 spyder 的 pythonpath 管理器添加路径后,在我的情况下需要重新启动 anaconda。
    • 哇。这非常不方便......谢谢!
    【解决方案2】:

    在 spyder 的 IPython 控制台上使用! 允许您使用pip。因此,在示例中,您可以这样做:

    [1] !pip install pymorph
    

    注意,这在 Python 控制台上也可用(尽管可能不可靠),用于 ~2.3.3 之前的 Spyder 版本。感谢@CarlosCordoba 的澄清。

    【讨论】:

    • 看来您使用的是旧版 Spyder。此功能在某些版本之前已被删除(我认为在 2.3.3 中)。然而,类似的东西仍然适用于 IPython 控制台。
    • @CarlosCordoba 啊,好的。我使用的是 2.2.5 版。很遗憾它被删除了——尽管它仍然是一个很棒的 IDE :-)
    • 我们不得不从我们的 Python 控制台中删除它,因为它在所有情况下都不能可靠地工作(例如,它在调试时会出现问题)。但是,正如我所说,您可以在我们的 IPython 控制台中运行完全相同的命令,它会正常工作:-)
    • 当我这样做时,我得到/bin/sh: pip: command not found。在版本 2.3.8
    • @jkabrg 你有pipinstalled吗?
    【解决方案3】:
    1. 在终端中查找模块的位置:

      $ python # open python
      
      import pygame # import a module 
      
      pygame # get the location
      
    2. 将模块文件夹复制粘贴到“Spyder.app/Contents/Resources/lib/python2.7”

    3. 重新启动 Spyder.app

    【讨论】:

      【解决方案4】:

      如果您在 Anaconda 包中使用 Spyder...

      在 IPython 控制台中,使用

      !conda install packageName
      

      这也适用于本地。

      !conda install /path/to/package.tar
      

      注意:!在 Spyder 中使用 IPython 控制台时是必需的。

      【讨论】:

      • 您也可以运行 Anaconda Prompt 并在那里运行pip install &lt;package_name&gt; 命令,安装完成后您可以从 spyder 控制台重新加载内核 -> 重新启动内核
      【解决方案5】:

      只需使用“!”在 spyder 终端中的 pip 命令之前,它会很好

      例如:

      !pip install imutils
      

      【讨论】:

        【解决方案6】:

        我在尝试在 Spyder 中添加 seaborn 模块时遇到了同样的问题。我在 ubuntu 14.04 中将 seaborn 安装到我的 anaconda 目录中。如果我添加了包含“seaborn”和 seaborn-0.5.1-py2.7.egg-info 文件夹的整个 anaconda/lib/python2.7/site-packages/ 目录,则会加载 seaborn 模块。问题是这个 anaconda 站点包文件夹还包含许多 Spyder 不喜欢的其他模块。

        我的解决方案: 我在我的个人主文件夹中创建了一个新目录,命名为“spyderlibs”,我在其中放置了 seaborn 和 seaborn-0.5.1-py2.7.egg-info 文件夹。在 Spyder 的 PYTHONPATH 管理器中添加我的新 spyderlib 目录有效!

        【讨论】:

        • 我很抱歉评论一个旧的答案,但我今天在 Spyder 和 seaborn 上遇到了这个确切的问题,除了你的网站之外,没有任何网站上的一个答案。所以,谢谢。
        • 作为我之前评论的补充(我希望你能看到这个!)你是如何解决 spyder 解释器现在将 seaborn 的 init.py 作为init.py 我要使用的任何内容?在这种情况下,它破坏了 mpfit 和其他一些东西。你有没有找到其他解决方案?
        • 我很高兴它起作用了……在某种程度上。我不记得遇到过 init.py 问题,所以我不确定要推荐什么。我最近安装了一个新的操作系统并新安装了 python 2.7、anaconda 和 spyder。现在 seaborn 奇迹般地从全新的 conda 命令行安装中运行 - 不再需要我上面介绍的解决方法。
        【解决方案7】:

        您可以将标准安装位置添加到 PYTHONPATH 管理器。这样您就不需要为每个模块添加特定路径。仅更新模块名称。

        在 Unix 上,这个位置通常是:

        /usr/local/lib/pythonX.Y/site-packages

        在 Windows 上:

        C:\PythonXY\Lib\site-packages

        the modules install Documentation.

        【讨论】:

          【解决方案8】:

          你可以运行:

          pip install pymorph
          

          但是您需要在环境的 anaconda 终端中运行该命令。例如:

          【讨论】:

            【解决方案9】:

            试试这个..

            1. 从 CMD 获取您的 Python 版本

            2. 确保您在 Spyder 内核中使用相同版本

            如果版本不同,请从“工具>首选项>Python解释器>”管理安装库的python路径。

            【讨论】:

              【解决方案10】:

              将安装了 python 模块的目录添加到 PYTHONPATH 管理器

              点击Synchronize按钮,然后重启内核,你的程序应该可以运行了

              【讨论】:

                【解决方案11】:

                也可以按照以下步骤操作: Spyder -> 工具 -> 打开命令提示符 -> 编写命令“pip install html5lib”

                【讨论】:

                  【解决方案12】:

                  这是假设一个 Conda 环境。在高层次上,对我有用的只是在 Spyder 中配置我的 Conda 路径。这是我的做法:

                  首先,确定你的环境存在的路径

                  1. 创建您的环境

                  2. 在 Anaconda 导航器中,单击“环境”,然后在要打开的环境上点击播放按钮。

                  3. 点击“Open with Python”,您应该会得到一个交互式 Python shell

                  4. 键入“import numpy”(选择任何包)

                  5. 键入“numpy”并查看如下所示的路径:

                  C:\\Users\My Name\\.conda\\envs\\pytorch-three\\lib\\site-packages\\numpy\\__init__.py
                  

                  重要的部分是一直到site-packages的路径

                  为了让 Spyder 能够读取您的包,请在 Spyder 中执行以下操作。

                  1. 从任何地方打开 Spyder

                  2. 点击“工具”和“首选项”

                  3. 在您的 Python 解释器中单击“使用以下 Python 解释器”

                  4. 从上面的路径中,导航到您的环境并选择 Python 可执行文件。对我来说,它就在这里:C:\\Users\My Name\\.conda\\envs\\pytorch-three\\python.exe

                  5. 最后,将C:\\Users\\My Name\\.conda\\envs\\pytorch-three\\libs\\site-libs 文件夹添加到路径(将存在于您的环境中)。这可以通过带有“添加到路径”工具提示的 Python 小图标轻松完成

                  我个人不需要重新启动我的 IDE,但您可能需要。

                  【讨论】:

                    【解决方案13】:

                    这符合我在 Spyder 控制台中完成的目的

                    conda install -c anaconda pyserial

                    这种格式通常有效,但是 pymorph 这样返回:

                    conda install -c anaconda pymorph 收集包元数据(current_repodata.json):...工作...完成 求解环境:...工作...失败,初始冻结求解。使用灵活的求解重试。 收集包元数据(repodata.json):...工作...完成 求解环境:...工作...失败,初始冻结求解。使用灵活的求解重试。

                    注意:您可能需要重新启动内核才能使用更新的软件包。

                    PackagesNotFoundError:当前频道无法提供以下软件包:

                    • pymorph

                    当前频道:

                    搜索可能提供您正在使用的 conda 包的替代频道 寻找,导航到

                    https://anaconda.org
                    

                    并使用页面顶部的搜索栏。

                    【讨论】:

                      猜你喜欢
                      • 2014-08-10
                      • 2019-10-11
                      • 2016-08-25
                      • 2018-07-06
                      • 2013-03-20
                      • 2020-09-04
                      • 2018-12-08
                      • 2019-03-12
                      • 1970-01-01
                      相关资源
                      最近更新 更多