擅长:python、mysql、java
<p>据我所知<a href="https://docs.python.org/3/library/venv.html" rel="nofollow noreferrer">^{<cd1>} standard library</a>出现在<em>python3.3</em>中,从未<em>后端口</em>到<em>2.7</em></p>
<p><code>venv</code>只能为其自身版本的解释器创建虚拟环境,并且不能将虚拟环境目录移动到其他位置或重命名。Python<em>3.foo</em>无法为<em>Python 3.bar</em>创建虚拟环境。因此,最好从一开始就选择想要的解释器</p>
<p>正如<code>whereis python</code>的输出所示,您似乎已经安装了多个Python解释器,因此您应该能够执行以下操作:</p>
<pre><code>$ /path/to/python3.3 -m venv /path/to/my/venvs/venv33
$ /path/to/python3.8 -m venv /path/to/my/venvs/venv38
</code></pre>
<p>似乎有一种方法可以更改与虚拟环境相关联的Python解释器(我还没有测试过它,不知道有什么限制):</p>
<pre><code>$ /path/to/python3.8 -m venv --upgrade /path/to/my/venvs/venv33
</code></pre>
<p>或者使用<a href="https://pypi.org/project/virtualenv/" rel="nofollow noreferrer"><em>virtualenv</em></a>,它似乎提供了更大的灵活性,但效率可能更低(不过它的下一个主要版本<a href="https://discuss.python.org/t/virtualenv-20-0-0-beta1-is-available/3077" rel="nofollow noreferrer"><em>virtualenv 20</em></a>应该会带来很多改进)</p>