簡體   English   中英

Python 找不到已安裝的模塊,但 pip 可以

[英]Python can't find installed module, but pip can

使用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>

這就是問題所在。

通過使用沒有pip help()函數
在你的python IDLE Shell 上輸入以下順序:

help("modules")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM