-1

从事自动化无聊的东西项目并遇到 pyperclip 和 IDLE 的问题。pyperclip 已成功下载并在终端中正常工作,但是当我在 IDLE 中导入 pyperclip 时,出现以下错误。

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

import pyperclip Traceback(最近一次调用最后一次):文件“”,第 1 行,在 import pyperclip ModuleNotFoundError:没有名为 'pyperclip' 的模块

我想我以某种方式将模块保存在错误的文件夹中。下面是我的终端和 IDLE 的 sys.path 输出。

在终端:

'/anaconda/bin', '//anaconda/lib/python36.zip', '//anaconda/lib/python3.6', '//anaconda/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']

在空闲时:

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/站点包']

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

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

4

2 回答 2

0

有同样的问题并用谷歌搜索

'为什么在我的 python 文件中导入 pyperclip 会给出“modulenotfounderror”但在空闲时工作正常'

这个页面出现了。然后我还检查了这个 [安装了 Pyperclip,导入 IDLE 时遇到问题

我是 python 新手,在 pip 安装 pyperclip 后使用同一本书遇到了同样的问题,这就是我为解决这个问题所做的。

我复制了 pyperclip-1.7.0-py3.7.egg-info 和 pyperclip 文件夹

C:\Users\USER\AppData\Local\Programs\Python\Python37\Lib\site-packagesC:\Users\USER\Anaconda3\Lib\site-packages 文件夹C:\Users\USER\AppData\Local \Programs\Python\Python37文件夹,它工作。希望这可以帮助。如果没有。在您的文本编辑器中尝试此代码,因为这就是我使用 Atom 所做的以及我是如何解决它的。

import sys print(sys.executable)

然后将 pyperclip-1.7.0-py3.7.egg-info 和 pyperclip 文件夹复制到上面代码给你的路径中。

于 2020-02-09T20:14:02.277 回答
0

每个 python 安装并使用它自己的 .../lib/site-packages 用于 3rd 方模块,你有两个。如果您在终端中运行非 anaconda python,与运行 IDLE 相同,它会遇到同样的问题。事实上,python 是 ImportErrors 的来源。

选项 1:将要与非 anaconda python(和 IDLE)一起使用的所有包单独安装在其自己的站点包目录中。在 IDLE Shell 中,获取其可执行文件的路径

>>> import sys; sys.executable

保存记住生成的“python-path”。然后在终端中,运行

python-path -m pip 安装包名

对于每个包。

选项 2(使用站点包目录的一个鲜为人知的功能):在

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

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

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

(我不知道为什么双 / 或者是否真的需要它;我只是从你的问题中复制了它。)这使得 anaconda python site-packages 成为框架 python site-packages 的扩展。由于两者都适用于 3.6,因此一份副本应该适用于两者。

于 2017-03-28T14:51:56.100 回答