[坑] Python 找不到 venv 裡面安裝的 pip module (Python launcher for Windows)

Image source

最近難得回頭寫python一開場就遇到怪問題

問題:

py -m venv .venv
cd .venv\Script
activate.bat
(.venv) cd ..
(.venv) cd ..
(.venv) pip install matplotlib #success
(.venv) py script.py

C:\workspace\python_venv\.venv\Scripts\python.exe: No module named matplotlib 

# ?????????????


解答:

Python VENV能支援的executables只有/.venv/Script底下的而已,不包含py.exe!所以用py執行.py會使用的是global env。

找不到matplotlib的原因就是global env沒有matplotlib(因為pip是venv底下的那個)
改成python script.py就正常了。

如果還是怪怪的話,就用which python, which pip檢查一下到底call到誰。


心得:

因為script混合python 2和3所以才用py,結果中這個坑。
太蠢了…得記錄下來不要浪費時間,如果能幫到人就更好了。

留言