2024-04-20 12:57:26 发布
网友
如果定义了在bash脚本中使用哪个版本的python,那么
export PYTHON = "/path/python/python-3.5.1/bin/python"
但是对于Python virtualenv,可以在命令行中执行这些命令
cd /path/pathto/virtualenv source activate cd another_directory
如何在bash脚本中“输入”Python virtualenv?这里的标准方法是什么?
下面是几个步骤,你可以做的一件事是
export PYTHON = "/path/pathto/virtualenv/python"
在bashrc中使用此路径。或者你可以这样做:
vim ~/.bashrc
走到尽头
alias python=/path/pathto/virtualenv/python source ~/.bashrc
我们必须区分两种情况:
How does one "enter" a Python virtualenv in a bash script?
就像在交互式bash命令行中一样:
source /path/to/the/virtual_env/bin/activate
What is the standard approach here?
标准方法是在bash脚本中输入virtualenv。相反,可以调用python和/或基于python的命令,这些命令要通过它们的完整路径使用。为了使这个过程更简单,减少重复,可以使用别名和变量。
已经有这样的剧本了。它名为activate,位于virtualenv的bin目录中。您必须source它,而不是像普通命令那样调用它。只有这样,它才能在同一个会话中运行,而不是在子shell中运行,因此,只有这样,它才能对会话进行不会由于子shell在脚本末尾终止而丢失的修改。
activate
bin
source
所以你只要:
在您的交互式shell会话中。
但是,如果您想做的比activate脚本做的更多呢?你可以把
变成一个外壳脚本。但是,由于上述原因,正常调用脚本时不会有太大影响。相反,source您的脚本可以在交互会话中使用它。
因此:
my_activate.sh的含量
my_activate.sh
#!/bin/bash # Do something # ... # then source /path/to/the/virtual_env/bin/activate # Do more stuff # ...
在你的互动会话中
source my_activate.sh
我建议使用virtualenvwrapper。它为管理虚拟环境提供了一些有用的工具。
pip install --user virtualenvwrapper
创建虚拟环境时,需要指定环境中应使用哪个版本的python。
mkvirtualenv -p /usr/local/bin/python2.6 myproject.2.6 mkvirtualenv -p /usr/local/bin/python3.3 myproject.3.3
然后,使用workon命令“输入”环境。
workon myproject.2.6
下面是几个步骤,你可以做的一件事是
在bashrc中使用此路径。或者你可以这样做:
走到尽头
我们必须区分两种情况:
案例1:在脚本中使用virtualenv
就像在交互式bash命令行中一样:
标准方法是在bash脚本中输入virtualenv。相反,可以调用python和/或基于python的命令,这些命令要通过它们的完整路径使用。为了使这个过程更简单,减少重复,可以使用别名和变量。
案例2:通过调用脚本在交互式bash会话中激活virtualenv
已经有这样的剧本了。它名为
activate
,位于virtualenv的bin
目录中。您必须source
它,而不是像普通命令那样调用它。只有这样,它才能在同一个会话中运行,而不是在子shell中运行,因此,只有这样,它才能对会话进行不会由于子shell在脚本末尾终止而丢失的修改。所以你只要:
在您的交互式shell会话中。
但是,如果您想做的比
activate
脚本做的更多呢?你可以把变成一个外壳脚本。但是,由于上述原因,正常调用脚本时不会有太大影响。相反,
source
您的脚本可以在交互会话中使用它。因此:
my_activate.sh
的含量在你的互动会话中
我建议使用virtualenvwrapper。它为管理虚拟环境提供了一些有用的工具。
创建虚拟环境时,需要指定环境中应使用哪个版本的python。
然后,使用workon命令“输入”环境。
相关问题 更多 >
编程相关推荐