2017-03-27 58 views
-1

正在使用自动化Boring Stuff项目,并且遇到pyperclip和IDLE问题。 pyperclip已成功下载并且在终端中正常工作,但是当我在IDLE中导入pyperclip时,出现以下错误。在IDLE中不工作的Python模块

更新 - 这发生在其他模块 - 我在终端中安装的任何东西都不会导入到IDLE中。

进口pyperclip 回溯(最近通话最后一个): 文件“”,1号线,在 进口pyperclip ModuleNotFoundError:无模块名为“pyperclip”

我想我已经保存在错误的模块莫名其妙。下面是我的终端和IDLE的sys.path输出。

在终端:

'/水蟒/ bin中', '//anaconda/lib/python36.zip', '//anaconda/lib/python3.6', “//水蟒/ lib/python3.6/lib-dynload', '//anaconda/lib/python3.6/site-packages', '//anaconda/lib/python3.6/site-packages/Sphinx-1.5.1- py3.6.egg', '//anaconda/lib/python3.6/site-packages/aeosa', '//anaconda/lib/python3.6/site-packages/IPython/extensions', '/ Users/andrewricardo/.ipython']

在IDLE中:

sys.path ['','/ Users/andrewricardo/Documents','/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip','/ Library/Frameworks /Python.framework/Versions/3.6/lib/python3.6','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload','/Library/Frameworks/Python.framework /Versions/3.6/lib/python3.6/site-packages']

这里有多条路径 - 我如何有效地将pyperclip模块移动到正确的位置?

或者 - 这里还有其他事情吗?

+0

这是一个重复的问题,但我的答案在这里给出了新的信息,并提供了针对这种情况的详细信息。 –

+0

这个问题实际上是关于多个python安装,而不是关于IDLE。有可能anaconda python也有IDLE,并且它可以为你工作。我的答案是如何在框架python中使用包的问题。 –

回答

0

每个python安装和第三方模块使用自己的.../lib/site-packages,你有两个。如果你在终端运行non-anaconda python,运行IDLE的时候会出现同样的问题。的确,那个python是ImportErrors的来源。

选项1:将您想要使用的所有包与non-anaconda python(和IDLE)分别安装到它自己的站点包目录中。在IDLE Shell中,获取其可执行文件的路径

>>> import sys; sys.executable 

保存记得产生的'python-path'。然后,在终端中,运行

蟒路径-m点子为每个包安装程序包名称

选项2(使用站点包目录的小已知特征):在

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages 

添加一个文件名,例如,anaconda.pth,包含一行。

//anaconda/lib/python3.6/site-packages 

(我不知道为什么双/或是否真正需要它,我只是从你的问题把它抄了)这使得水蟒蟒站点包框架的Python站点包的扩展。由于这两个版本都是3.6版本,所以两份都应该有效。