【发布时间】:2019-04-23 08:29:15
【问题描述】:
当我使用 bash 脚本创建 Python 虚拟环境时,所有环境(解释器、pip 和其他包)都是系统范围的包。
#!/bin/bash
virtualenv <venv name> --python python3
我通过以下命令检查它:
which python3
which pip3
和
pip3 list
但是,如果我手动键入命令,它会起作用。我有一个孤立的环境。
谁能告诉我为什么会发生这种情况以及如何使用脚本来创建 Python 虚拟环境? (因为我想通过脚本使其自动化)。 非常感谢。
注意:
我没有试图以错误的方式激活环境。我确实使用source 来激活它并在我的命令行头部获得标记。我在问为什么在 bash 脚本中创建虚拟环境不会复制解释器和 pip 的二进制文件!那将错过使用虚拟环境的重点! 据我了解,无论我在哪个 bash 会话(当前会话或子进程)中执行创建命令,结果都应该是相同的。这就是问题所在。
【问题讨论】:
-
您好,这个问题是要激活虚拟环境的。但是,我的问题是创建一个虚拟环境。而且据我了解,无论我在哪个 bash 会话中创建虚拟环境,都应该是一样的。我想知道为什么不是。我确实使用'source'激活环境,激活后发现python解释器没有被隔离,但是
标记仍然在命令行前面。
标签: python bash virtualenv