导入错误:没有名为wget的模块。

10
请帮助我找出在MacOS上导入库时出现错误的原因
当我使用以下代码导入wget库时:
import wget
我遇到了错误。
File "/Users/xx/python/import.py", line 4, in <module>
    import wget
ImportError: No module named wget

这个库已经安装好了。

xx$ pip3 install wget
Requirement already satisfied: wget in /usr/local/lib/python3.6/site-packages (3.2)

我猜测某些路径未设置,但是我不知道如何证明这一点。请帮我找到解决这个问题的方法。

2
你可能在使用Python2? - Druta Ruslan
是的,可能安装了多个版本的Python。 - Jean-François Fabre
你的Python文件中有shebang吗?或者在MacOS中没有这个东西? - Bruno Ryckaert
macOS使用shebang,没错。#!/usr/bin/env python3 - Hack Saw
还有一个有用的东西:启动Python(2或3),在解释器提示符下运行:help(),然后:modules。它会打印出它看到的所有模块的列表。 - Hack Saw
我使用Sublime Text或Visual Studio Code来编辑和运行代码。 我尝试了版本2和3,结果是一样的。 - Stefano
9个回答

17

尝试使用pip install wget。也许您正在使用Python 2。


xx$ pip install wget 要求已经在 /usr/local/lib/python2.7/site-packages (3.2) 中满足了。 - Stefano

4

使用pip3安装的是Python 3的模块,可能您同时拥有Python 2和3两个版本,并且您的环境默认指向Python 2。

请检查Python版本或为Python 2安装wget。

python -V    
pip install wget

xx$ pip install wget 要求已经在 /usr/local/lib/python2.7/site-packages (3.2) 中满足了。 - Stefano

2
sudo apt-get install --reinstall python3-wget

5
嗨,Alex,请避免给出单句回答。始终尝试解释你发布的内容 :) - Khalid Khan

1
这不应该是情况,但检查是否在路径中访问模块的site-packages
>>> import sys
>>> sys.path
[..., '...\\python3.6\\lib\\site-packages', ...] ## if this is here I cannot help you

如果不行,尝试修复Python。
你可以通过点击安装时使用的设置文件来进行修复, 在三个选项中选择修复


导入sys - 没有任何错误,可以正常运行 - Stefano
路径为:/usr/local/lib/python3.6/site-packages - Stefano
不要写 import sys。检查你的路径是否在 sys.path 中。 - Superior
@Superior,也许更简单的方法是在启动Python之前将该目录添加到PYTHONPATH中:从命令提示符输入export PYTHONPATH=$PYTHONPATH:/path/to/site-packages即可。无论如何,这肯定是这里最正确的答案。 - Z4-tier

1
pip install wget

如果使用的是Colab:

!pip install wget

1
如果您使用命令处理Python脚本:
python import.py

python3 import.py

希望它能够正常工作。

但如果您通过命令处理可执行的Python脚本:

./import.py ENTER

然后在脚本的第一行加入import.py:

#!/usr/bin/env python

或者

#!/usr/bin/env python3

这并没有回答被问到的问题。 - Nitin Nain
@NitinNain,实际上,原始问题需要提供更多信息才能以任何确定性回答...让我困惑的是,这个问题在不到2年的时间里就获得了5个赞和近14k的浏览量... - Z4-tier
不,請仔細閱讀問題。OP 的問題不在於啟動 Python 腳本,而是在於導入“wget”。 - Nitin Nain
我已经阅读了这个问题。OP实际上没有展示import.py的内容,所以我们只能猜测发生了什么。 - Z4-tier
python3 import.py 对我有用,因为我将import.py更改为我要运行的Python文件的名称。即“python3 project.py”。假设project.py是我的Python文件的名称。 - Omolade Ekpeni

0

下面这个指令在 Jupyter Lab 中对我有效

!pip install wget

希望这能有所帮助!


0
在Jupyter Lab中,尽管我的Python版本是3.9,但它使用的是3.7路径(我已经安装了多个Python版本):
import sys

sys.path

['D:\\Projects',
 'C:\\Program Files\\Python37\\python37.zip',
 'C:\\Program Files\\Python37\\DLLs',
 'C:\\Program Files\\Python37\\lib',
 'C:\\Program Files\\Python37',
 '',
 'C:\\Users\\John\\AppData\\Roaming\\Python\\Python37\\site-packages',
 'C:\\Program Files\\Python37\\lib\\site-packages',
 'C:\\Program Files\\Python37\\lib\\site-packages\\win32',
 'C:\\Program Files\\Python37\\lib\\site-packages\\win32\\lib',
 'C:\\Program Files\\Python37\\lib\\site-packages\\Pythonwin',
 'C:\\Program Files\\Python37\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\John\\.ipython']

我执行了!pip3.7 install --user wget,然后它就可以工作了。


0

我最近遇到了同样的问题,使用 python3 而不是 py 对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接