【发布时间】:2020-08-05 22:43:32
【问题描述】:
这是我关于 stackoverflow 的第一个问题,我是 Python 新手。
我想导入 pyperclip 模块。 于是我去cmd,以管理员身份运行,使用-cd \Program Files\Python37\Scripts 移动到路径并通过pip3 install pyperclip 命令下载pip,下载成功。
现在我无法从 IDLE 导入它
以下是 IDLE 的输出,它没有导入 pyperclip 模块
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import pyperclip
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pyperclip
ModuleNotFoundError: No module named 'pyperclip'
>>>
在此之后,我做了一些研究,发现它可能安装在其他目录中。所以从研究中我在一个子目录中找到了 pyperclip 文件夹和 pyperclip-1.8.0-py3.6.egg-info 文件夹,我将它们复制并粘贴到 C:\Program Files\Python36 目录中。
有了上面的东西,我也无法从 IDLE 导入 pyperclip。
我进入命令提示符,输入 python 并能够导入它
以下是输出 C:\Users\Administrator>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyperclip
>>>
所以我无法从 IDLE 导入,但可以在命令提示符下进行。
当我是 python 新手时,我发现了另外 1 个问题, IDLE 显示 python 3.8.2,在命令提示符下显示 3.6。我只下载了 1 个 python,我只安装了 1 个 python。为什么3.6和3.8.2会有这个版本差异
更新: 在 IDLE 上使用以下命令,我可以导入 pyperclip。但它仅适用于当前打开的 IDLE。关闭 IDLE 并重新打开后,我再次执行这些命令。如何一直修复它
>>> import sys
>>> sys.path.insert(1, 'C:/Program Files/Python36')
>>> import pyperclip
~~~~~~~~~~
SOLVED:
【问题讨论】:
-
它看起来像使用一个 Python 解释器 (Python 3.8.2) 的 IDLE,而在命令行中运行另一个 (Python 3.6.0) 并安装了 pyperclip。你最好使用多个虚拟环境来轻松解决这个问题,或者你也可以在你的机器上使用单个 Python 解释器。
-
永远不要像你所做的那样!您使用的是相同的 Python 解释器 (3.8.2),但在更改 sys.path 时,您也允许它使用 Python 3.6.0 模块!这是一种非常不安全和不好的做法!查看我之前的回答,了解如何以正确的方式解决问题。
-
与其在问题文本中编写解决方案,不如回答您的问题。是的,你可以做到,即使这是你自己的问题。然后您可以将您的答案标记为解决方案。
-
感谢@colidyre 的建议
-
@Demian Wolf 我明白你的意思。你能简单介绍一下如何做吗
标签: python python-idle pyperclip