当我使用bash脚本创建Python虚拟环境时,所有环境(解释器、pip和其他包)都是系统范围的包。
#!/bin/bash
virtualenv <venv name> --python python3
我通过以下命令检查它:
which python3
which pip3
和
pip3 list
但是,如果我手动输入命令,它就会起作用。我有一个孤立的环境。
有人可以告诉我为什么会发生这种情况以及如何使用脚本创建Python虚拟环境吗? (因为我想通过脚本使其自动)。 非常感谢。
注意:
我没有尝试以错误的方式激活环境。我确实使用source
激活它并在我的命令行头部获得标记。我问为什么在bash脚本中创建虚拟环境不会复制解释器和pip的二进制文件!那会错过使用虚拟环境的要点! 据我了解,无论我在哪个bash session (当前 session 还是子进程)中执行创建命令,结果都应该是相同的。这就是问题所在。
最佳答案
获取脚本而不是执行它。
关于python - 使用 Bash 脚本创建 Python virtualenv 时无法获得隔离环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55807141/