繁体   English   中英

MacOS - Python 提示未找到模块,但已安装

[英]MacOS - Python says module not found, but it's already installed

我正在尝试使用python3在本地运行 Python 脚本。 此脚本需要proxymanager

Requirement already satisfied: proxymanager in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (0.0.6)

但是,当我运行脚本时,我收到以下消息:

  File "/Users/xxx/Folder/script.py", line 5, in <module>
    from proxymanager import ProxyManager
ModuleNotFoundError: No module named 'proxymanager'
Python 3.9.0

我相信 Python 安装在这里:

/Library/Frameworks/Python.framework/Versions/3.9

任何帮助将不胜感激,这仍然是新手。 谢谢!

尝试卸载它并重新安装,也许使用

pip uninstall proxymanager

它有效吗? 否则,您是否使用 PyCharm 之类的 IDE?

可能是您将pip用于不同的 Python 发行版。 以下是确保一切按计划进行的步骤。

  1. 确保运行所需的发行版。 在终端中输入which python3并查看运行哪个 Python。 是你期待的吗? 如果没有,请考虑使用符号链接,或者坚持使用实际运行的符号链接
  2. 您可以使用选项 -m为您需要的解释器启动pip
     python3 -m pip install proxymanager
  3. 再次启动您的脚本,看看一切是否按计划进行。

还可以考虑使用虚拟环境来避免将来出现此类混淆。

我会考虑查看虚拟环境。 这里的问题可能是您的 python 安装在错误的地方寻找proxymanager

虚拟环境是给定项目的受限环境,因此如果您只需要一个项目的某些包,那么您可以处理此环境并将它们安装到该环境中。 它使开发和部署项目变得更加容易。

试试这个,创建一个新文件夹并在这个文件夹中打开一个终端窗口。 运行以下命令。 它使用 Python 附带的包Venv

在文件夹MyProj创建环境

MyProj>> python -m venv MyEnv

激活环境

MyProj>> cd MyEnv/Scripts
Scripts>> ./activate

您会知道它已被激活,因为您的命令提示符现在将在其前面显示环境名称。 现在安装你的包。

(MyEnv)MyProj>> pip install proxy-manager

确保它已安装在您的环境中。

MyProj>> cd MyEnv/Lib/site-packages
site-packages>> ls 
pip
pip-19.2.3.dist-info
pkg_resources
proxymanager    ***** HERE IT IS *****
proxy_manager-0.0.6-py3.7.egg-info
setuptools
setuptools-41.2.0.dist-info
tests
__pycache__
easy_install.py

现在尝试运行您的脚本,它应该使用您创建的虚拟环境。

所以,我做了pip3 list来检查当前安装了哪些模块。

我看到ProxyManager已安装,但它不是正确的模块。 我输入了pip3 uninstall ProxyManager 然后我输入pip3 install proxy-manager 在此更改后,脚本运行良好。

我不确定是什么导致了错误,但看起来它需要proxy-manager而不是ProxyManager

日志:

ModuleNotFoundError: No module named 'proxymanager' 

现在它工作得很好。 我仍然不太明白发生了什么,但看起来有两个名称相似的包? 终端输出是缺少ProxyManager并没有帮助,当它一直安装时。 正确的输出应该是Proxy-Manager is missing?

不管怎样,感谢所有帮助过的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM