如何解决Python 找不到已安装的模块,但 pip 可以
使用 conda
使用单独的虚拟环境。
所有命令都在该环境中运行。
❯ pip install bs4
Requirement already satisfied: bs4 in /home/v4g4x/miniconda3/envs/Scraping/lib/python3.7/site-packages (0.0.1)
Requirement already satisfied: beautifulsoup4 in /home/v4g4x/miniconda3/envs/Scraping/lib/python3.7/site-packages (from bs4) (4.9.3)
Requirement already satisfied: soupsieve>1.2 in /home/v4g4x/miniconda3/envs/Scraping/lib/python3.7/site-packages (from beautifulsoup4->bs4) (2.2.1)
❯ python
Python 3.7.10 (default,Mar 8 2021,16:45:57)
[GCC 9.1.0] on linux
Type "help","copyright","credits" or "license" for more information.
>>> import bs4
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
ModuleNotFoundError: No module named 'bs4'
>>>
pip freeze
的输出:
❯ pip freeze
beautifulsoup4==4.9.3
bs4==0.0.1
certifi==2021.5.30
charset-normalizer==2.0.3
html5lib==1.1
idna==3.2
numpy==1.21.1
pandas==1.3.1
pathlib==1.0.1
python-dateutil==2.8.2
pytz==2021.1
requests==2.26.0
six==1.16.0
soupsieve==2.2.1
urllib3==1.26.6
webencodings==0.5.1
wget==3.2
在这里我们可以看到 bs4(以及beautifulsoup4)已经安装并且应该可用。但是 Python
在执行过程中找不到它。
我已经使用 pip、conda 和 python envs 一段时间了。但我不知道为什么它找不到那个包裹。
所有类似的问题似乎都在 pip 和 pip3 之间挣扎,但我没有这个问题,这让它更难理解。
解决方法
试试which pip
,可能python和pip不匹配。
或者您可以使用 python -m pip install
显然即使在conda activate <env_name>
之后
which python
似乎出于某种原因指向 /opt/splunk/bin/python
。
而 which pip
指向 <env_name>
。
这就是问题所在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。