在WSL2上`pip安装Virtualenv`命令挂起时间太长
问题描述
在运行Ubuntu 20.04的WSL2下,我尝试在pip运行的情况下安装Virtualenvpip install virtualenv
,但该命令挂起,不打印任何内容。
我终止了它,并按照建议here使用python3 -v -m pip install virtualenv
再次运行它,它挂起在import 'keyring.backends.OS_X'
行:
[...]
# /usr/lib/python3/dist-packages/keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc matches /usr/lib/python3/dist-packages/keyring/backends/_OS_X_API.py
# code object from '/usr/lib/python3/dist-packages/keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc'
# destroy keyring.backends._OS_X_API
import 'keyring.backends.OS_X' # <_frozen_importlib_external.SourceFileLoader object at 0x7fa66c4b4610>
我已尝试按照回答here运行python -m pip install some_package_you_want
,但出现了相同的问题。
另外,我已尝试按建议here导出PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
环境变量,但遗憾的是也没有解决问题。
编辑:挂起约5分钟后,python3 -v -m pip install virtualenv
命令最终成功。
EDIT2:我认为问题在于WSL2太慢了here。最后,我用sudo apt-get install python3-venv
安装了Virtualenv(Venv),并用python3 -v -m venv venv
命令激活了虚拟环境,现在线路import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x7ff1bc5f1c40>
出现了类似的挂起问题,挂起了大约2分钟。这支持WSL2速度缓慢问题。
解决方案
是否设置了DISPLAY
环境变量?如果是这样的话,在运行pip之前先清除它对我来说很管用:
export DISPLAY=
pip install <packagename>
(或,作为一行:DISPLAY= pip install <packagename>
)
相关文章