共享Python虚拟环境
我在一个用户帐户中有一个pythonvirtualenv(使用virtualenvwerapper创建)。我想从同一主机上的另一个用户帐户使用它 我该怎么做? 如何设置虚拟环境以便主机上的任何用户都可以使用?(主要是Linux/Debian,也包括Mac OSX。)共享Python虚拟环境,python,virtualenv,virtualenvwrapper,Python,Virtualenv,Virtualenvwrapper,我在一个用户帐户中有一个pythonvirtualenv(使用virtualenvwerapper创建)。我想从同一主机上的另一个用户帐户使用它 我该怎么做? 如何设置虚拟环境以便主机上的任何用户都可以使用?(主要是Linux/Debian,也包括Mac OSX。) 谢谢。将其放在用户无关的目录中,并使其组可读 例如,对于库,我使用/srv/http/share/跨web应用程序共享代码 您可以使用/usr/local/share/进行正常应用。我必须为同事这样做。@Flavius在我添加了一些
谢谢。将其放在用户无关的目录中,并使其组可读 例如,对于库,我使用
/srv/http/share/
跨web应用程序共享代码
您可以使用
/usr/local/share/
进行正常应用。我必须为同事这样做。@Flavius在我添加了一些命令来处理virtualenvwrapper
后工作得很好。你需要把你的VenV和你的WORKON项目文件夹放在你和你的老板/朋友可以找到和使用的地方
sudo mkdir -p /usr/local/share
sudo mv ~/.virtualenvs /usr/local/share
sudo mkdir -p /usr/src/venv/
假设您希望机器上的每个人都能同时执行mkproject
和workon
:
chmod a+rwx /usr/local/share/.virtualenvs
chmod a+rwx /usr/src/venv
否则chown
和chmod
将符合您的安全要求
如果您有任何钩子或脚本希望~/.virtualenvs处于正常位置,则最好将其符号链接(在您的用户帐户和您朋友的帐户上)
然后修改你的(和你朋友的).bashrc
文件,让VirtualAvrapper知道你把东西移到哪里了。您的bashrc应该具有如下内容:
export PROJECT_HOME="/usr/src/venv/"
export WORKON_HOME="/usr/local/share/.virtualenvs"
export USR_BIN=$(dirname $(which virtualenv))
if [ -f $USR_BIN/virtualenvwrapper.sh ]; then
source $USR_BIN/virtualenvwrapper.sh
else
if [ -f /usr/bin/virtualenvwrapper.sh ]; then
source /usr/bin/local/virtualenvwrapper.sh
else
echo "Can't find a virtualenv wrapper installation"
fi
fi
一旦您注销并重新登录(或者只是source~/.bashrc
),您应该可以使用mkproject awesome\u new\u python\u project
和workon awesome\u new\u python\u project
等命令
作为奖励,每次您的
工作时,添加钩子以加载sublime中的项目文件夹,但使用该目录的virtualenv/VirtualEnvrapper语法是什么?使用VirtualEnvrapper,命令行>在用户的.virtualEnvironment目录中查找环境。您的意思是什么?使用.bin/activate
通常。很抱歉,我没有这样做。当我切换到一个环境时,我的命令行是>--我不接触bin/activate。现在我明白了。1:创建环境w/>。这将在工作目录中为环境创建一个目录,其中包含一个子目录bin/和脚本activate。2:使用环境>。具有适当的权限,presto终端环境现在调用该VirtualEnvironment。使用deactivate离开。这个调用同样适用于使用VirtualEnvrapper.Thx创建的环境。@Flavius您只需要sudo mv~/.virtualenvs/usr/local/share
,mkdir-p/usr/src/venv_projects/
,chmod g+rwx/usr/local/share/.virtualenvs
,`chmod g+rwx/usr>/local/share/venv_projects`然后编辑virtualenvwrapper
(通常在源virtualenvwrapper.sh
之前的.bashrc
中)的环境变量。新的bashrc应该有export-PROJECT_-HOME=“/usr/src/venv”
和export-WORKON_-HOME=“/usr/src/venv
这样的行(或您组中的其他人)登录(假设他们也将这些行放在了bashrc中!)他们可以使用workon
和mkproject
命令,因为usualI似乎无法使其工作(按照您的建议设置时找不到模块)
mkdir-p/usr/src/venv的作用是什么?
export PROJECT_HOME="/usr/src/venv/"
export WORKON_HOME="/usr/local/share/.virtualenvs"
export USR_BIN=$(dirname $(which virtualenv))
if [ -f $USR_BIN/virtualenvwrapper.sh ]; then
source $USR_BIN/virtualenvwrapper.sh
else
if [ -f /usr/bin/virtualenvwrapper.sh ]; then
source /usr/bin/local/virtualenvwrapper.sh
else
echo "Can't find a virtualenv wrapper installation"
fi
fi