fhc*_*cat 6 python ubuntu virtualenv python-3.x
在 Ubuntu 16.04 中,Python3 的最新版本是 3.5。如果我只是这样做virutalenv venv,它将使用 Python 3.5 创建一个新的虚拟环境。
我按照https://linuxize.com/post/how-to-install-python-3-8-on-ubuntu-18-04/ 中的说明操作,并apt从 deadsnakes PPA安装了 Python 3.8 。但是我仍然无法创建 Python 3.8 虚拟环境。如果我这样做virtualenv --python=/usr/bin/python3.8,我得到了这个:
user@host:~$ virtualenv --python=/usr/bin/python3.8 venv
RuntimeError: failed to query /usr/bin/python3.8 with code 1 err: 'Traceback (most recent call last):\n File "/usr/local/lib/python3.5/dist-packages/virtualenv/discovery/py_info.py", line 16, in <module>\n from distutils import dist\nImportError: cannot import name \'dist\' from \'distutils\' (/usr/lib/python3.8/distutils/__init__.py)\n'
Run Code Online (Sandbox Code Playgroud)
我注意到死蛇 ppa 的说明包括:
python#.#-venv: 提供标准库venv模块所以,我相信你需要确保apt install python3.8-venv。然后以下将起作用:
python3.8 -m venv venv_dir
Run Code Online (Sandbox Code Playgroud)
如果您真的想使用virtualenv而不仅仅是本机venv,那么您可以安装它,但您首先需要pip. 所以这个过程看起来像这样:
python3.8 -m ensurepip
python3.8 -m pip install virtualenv
python3.8 -m virtualenv venv_dir
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!如果您想阅读(和评论/批评,我会欢迎它),我已经编写了几个 Python 虚拟环境工具的摘要,您可能会觉得有帮助。请随时告诉我如何使它变得更好。
尝试使用内置venv模块而不是virtualenv:
/usr/bin/python3.8 -m venv virtualenv_directory/
Run Code Online (Sandbox Code Playgroud)
venv自 3.3 版本起就包含在 Python 中。