我想知道在创建环境之后,是否可以在虚拟环境中指定python版本(用虚拟环境和虚拟包装器创建)。
如果我使用以下命令创建了一个虚拟环境:
mkvirtualenv -p python3.8 venvname
我想知道:
当虚拟环境被激活时,只需输入python,就可以确定我使用的是python3.8,它将显示如下所示:
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>> 在mkvirtualenv命令中指定python版本的唯一方法是(据我所知)预先安装python3.8
事实上,如果我这样做
mkvirtualenv -p python3.6 venvname
我得到以下错误
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
因为我没有安装python3.6。
我的问题是:
,我可以在创建它之后更改安装在虚拟环境中的python版本吗?
预先感谢任何愿意帮助我的人。
发布于 2021-10-05 16:20:49
我如何确定我使用的是python3.6?
如果您的意思是在运行时,venv中的python --version应该这样做。
是指定python路径的唯一方法吗?
对于mkvirtualenv我相信是这样的。使用python -m venv --您调用的特定python可执行文件--可以设置venv。(文档)
在我创建python版本之后,是否可以更改它安装在我的虚拟环境中的版本?
AFAIK并没有建立这样做的方式。只需替换可执行文件、更新库和go就可以了,但这听起来像是灾难的处方,除了维度变化之外。因为您的venv大概是用来开发包的,而且由于您将包依赖关系保存在某个地方--或者是requirements.txt或setup.py之类的东西,那么使用新的python重新开始新的虚拟venv应该是很简单的。
顺便说一句,如果您还没有考虑使用poetry来管理所有这些,这使得重新创建venv变得更加容易--只需删除venv并再次执行poetry install。
不过,我愿意被证明在to中更新python是错误的。
https://stackoverflow.com/questions/69453922
复制相似问题