![](/img/trans.png)
[英]/usr/local/bin/python3: No module named pip Error on or near line 85; exiting with status 1
[英]/usr/bin/python3: No module named pytest
我使用python3 -m pytest
來運行我的測試。 當 python3 指向 python3.6 時,這是有效的。 我安裝了 python3.7,使用以下命令將 python3.7 作為我的默認 python3:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
sudo update-alternatives --config python3
並為python3.7再次安裝了所有必需的包。 但是現在我不能再運行我的測試了。 因為它說: /usr/bin/python3: No module named pytest
。 我沒有使用虛擬環境,問題不在於特定模塊,因為它也找不到其他模塊。 它應該與python路徑有關。 我不知道在 python3 版本之間切換后要更改什么,因此它可以輕松地在/home/ubuntu/.local/lib/python3.x/site-packages/
找到所需的模塊。
我切換回 python3.6 並得到ModuleNotFoundError: No module named 'jsonpath_ng'
now,它在切換到 python3.7 之前工作。 這是python3 -m site
的輸出:
sys.path = [
'/home/ubuntu',
'/usr/lib/python36.zip',
'/usr/lib/python3.6',
'/usr/lib/python3.6/lib-dynload',
'/home/ubuntu/.local/lib/python3.6/site-packages',
'/usr/local/lib/python3.6/dist-packages',
'/usr/lib/python3/dist-packages',
]
USER_BASE: '/home/ubuntu/.local' (exists)
USER_SITE: '/home/ubuntu/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: True
感謝@hoefling,我通過運行python3 -m site
發現了問題。 我正在使用我的 jenkins 用戶而不是 root 運行測試,而我正在為 root 用戶安裝所有東西。 所以 USER_SITE 對於 jenkins 用戶來說實際上並不存在。 我為 jenkins 用戶再次安裝了所有東西,現在當我使用python3 -m
時它可以找到模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.