[英]Adding a module (Specifically pymorph) to Spyder (Python IDE)
我已经设法在我的 mac 上安装并运行了 spyder,但我想添加一些默认情况下不包含的模块(mahotas 和 pymorph)。
我在终端中通过 easy_install 安装了两者,并且似乎都安装了没有任何错误消息。 从终端运行 python 并使用import mahotas和import 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
好吧,还没有人回答这个问题,但我设法弄清楚并在 spyder 讨论板上发帖后让它工作。 对于要添加但未包含在 spyder 的默认搜索路径中的任何库,您需要进入Tools并通过 PYTHONPATH 管理器添加到每个库的路径。 然后,您需要从同一菜单更新模块名称列表,并在更改生效之前重新启动 spyder。
使用!
在 spyder 中的 IPython 控制台上,您可以使用pip
。 因此,在示例中,您可以执行以下操作:
[1] !pip install pymorph
请注意,对于 ~2.3.3 之前的 Spyder 版本,这也可以在 Python 控制台上使用(尽管可能不可靠)。 感谢@CarlosCordoba 的澄清。
在终端中查找模块的位置:
$ python # open python import pygame # import a module pygame # get the location
将模块文件夹复制粘贴到“Spyder.app/Contents/Resources/lib/python2.7”
重新启动 Spyder.app
如果您在 Anaconda 包中使用 Spyder...
在 IPython 控制台中,使用
!conda install packageName
这也适用于本地。
!conda install /path/to/package.tar
注意:! 在 Spyder 中使用 IPython 控制台时需要。
只需使用“!” 在 spyder 终端中的 pip 命令之前就可以了
例如:
!pip install imutils
您可以将标准安装位置添加到 PYTHONPATH 管理器。 这样您就不需要为每个模块添加特定的路径。 仅用于更新模块名称。
在 Unix 上,这个位置通常是:
/usr/local/lib/pythonX.Y/site-packages
在 Windows 上:
C:\\PythonXY\\Lib\\site-packages
请参阅模块安装文档。
我在尝试在 Spyder 中添加 seaborn 模块时遇到了同样的问题。 我将 seaborn 安装到 ubuntu 14.04 的 anaconda 目录中。 如果我添加了包含“seaborn”和 seaborn-0.5.1-py2.7.egg-info 文件夹的整个 anaconda/lib/python2.7/site-packages/ 目录,则会加载 seaborn 模块。 问题是这个 anaconda site-packages 文件夹还包含许多其他 Spyder 不喜欢的模块。
我的解决方案:我在我的个人主文件夹中创建了一个新目录,命名为“spyderlibs”,我在其中放置了 seaborn 和 seaborn-0.5.1-py2.7.egg-info 文件夹。 在 Spyder 的 PYTHONPATH 管理器中添加我的新 spyderlib 目录有效!
也可以按照以下步骤操作:Spyder -> 工具 -> 打开命令提示符 -> 编写命令“pip install html5lib”
这是假设一个 Conda 环境。 在高层次上,对我有用的只是在 Spyder 中配置我的 Conda 路径。 这是我如何做到的:
首先,确定您的 env 所在的路径
创造你的环境
在 Anaconda 导航器中,单击“环境”,然后点击要打开的环境上的播放按钮。
点击“Open with Python”,你应该得到一个交互式的Python shell
输入“import numpy”(选择任何包)
输入“numpy”并查看如下所示的路径:
C:\\Users\My Name\\.conda\\envs\\pytorch-three\\lib\\site-packages\\numpy\\__init__.py
重要的部分是一直到site-packages
的路径
为了让 Spyder 能够读取您的包,请在 Spyder 中执行以下操作。
从任何地方打开 Spyder
单击“工具”和“首选项”
在您的 Python 解释器中,单击“使用以下 Python 解释器”
从上面的路径,导航到您的环境并选择 Python 可执行文件。 对我来说,它在这里: C:\\\\Users\\My Name\\\\.conda\\\\envs\\\\pytorch-three\\\\python.exe
最后,将C:\\\\Users\\\\My Name\\\\.conda\\\\envs\\\\pytorch-three\\\\libs\\\\site-libs
文件夹添加到路径(它将存在于您的环境中)。 这可以通过带有“添加到路径”工具提示的小 Python 图标轻松完成
我个人不需要重新启动我的 IDE,但您可能需要。
这适用于我在 Spyder 控制台中完成的目的
conda install -c anaconda pyserial
这种格式通常有效,但是 pymorph 因此返回:
conda install -c anaconda pymorph 收集包元数据 (current_repodata.json): ...working... done 求解环境: ...working... 初始冻结求解失败。 使用灵活的解决方法重试。 收集包元数据 (repodata.json): ...working... done 求解环境: ...working... 初始冻结求解失败。 使用灵活的解决方法重试。
注意:您可能需要重新启动内核才能使用更新的软件包。
PackagesNotFoundError:当前频道不提供以下软件包:
当前频道:
要搜索可能提供您正在寻找的 conda 包的备用频道,请导航到
https://anaconda.org
并使用页面顶部的搜索栏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.