无法导入第 3 方 python 模块

Can't import 3rd party python module

我想先声明一下,我是一名编码新手,所有这些对我来说都是全新的。事实上,这是我的第一个堆栈溢出问题。

无论如何,我正在学习 python 并尝试在终端中安装我的第一个名为“pyperclip”的第三方模块,但我认为它安装不正确。我对终端也很陌生。

作为参考,我正在关注 youtube 指南 "Automate the Boring Stuff with Python"

以下是我的一些系统详细信息:

我运行以下进入终端:

sudo pip3 install pyperclip

然后我在安装pyperclip

后在Terminal收到如下信息

目录或其父目录不属于当前用户,缓存已被禁用。请检查该目录的权限和所有者。如果用 sudo 执行 pip,你可能需要 sudo 的 -H 标志。

然后我尝试使用以下方法再次安装:

sudo -H pip3 install pyperclip

然后我收到这条消息:

要求已满足:/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (1.8.0)[=65=中的pyperclip ]

我上次尝试安装一个:

pip3 install pyperclip

我又收到了同样的信息:

要求已满足:/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (1.8.0)[=65=中的pyperclip ]

这也是我在交互式 shell 中尝试导入 pyperclip 时遇到的错误:

>>> import pyperclip
Traceback (most recent call last):
  File “<stdin>”, line 1, in <module>
ModuleNotFoundError: No module named ‘pyperclip’
>>> 

有人可以帮帮我吗?有了这些东西,我感觉就像一条离开水的鱼。特别是在终端方面。任何帮助将不胜感激。

我想讨论一些可能对您有所帮助的事情。

我们通常不会将 sudopip 结合使用来安装 Python 软件包。这会在系统级别安装软件包,并可能与您的系统当前已安装的软件包发生冲突,或者可能会将软件包安装到 Python 安装中,这与您从终端使用的安装不同。相反,我们通常使用 pip install --user 而不是 sudo pip install.

有关更多信息,请参阅此问答:

如果您不确定软件包是否已正确安装,请使用

检查
pip3 list

我们还需要确保您使用的 Python 解释器与安装 pip 的解释器相同。由于您使用pip3安装,您应该在终端使用python3进入交互式shell。您还可以通过在终端中输入以下命令来验证您使用的 Python 解释器是否正确:

which python3

然后,确保输出与 pip3 报告的 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ 路径匹配。

如果您使用不同的交互式 shell,例如 ipython,您需要确保使用

以相同的方式安装 ipython
pip3 install --user ipython

并使用

执行它
ipython3

尝试使用这些新信息重复您的步骤,看看是否有帮助。如果您还有其他问题或需要更多帮助,请告诉我。