我在一个用户帐户中有一个Python virtualenv(使用virtualenvwerapper创建)。我想从同一主机上的其他用户帐户使用它。
我怎样才能做到这一点? 如何设置虚拟环境以便主机上的任何用户可以使用? (主要是Linux / Debian,还有Mac OSX。)
谢谢。
我在一个用户帐户中有一个Python virtualenv(使用virtualenvwerapper创建)。我想从同一主机上的其他用户帐户使用它。
我怎样才能做到这一点? 如何设置虚拟环境以便主机上的任何用户可以使用? (主要是Linux / Debian,还有Mac OSX。)
谢谢。
将其放在用户中立的目录中,并使其可读组。
例如,对于库,我使用 /srv/http/share/
用于跨Web应用程序共享代码。
你可以用 /usr/local/share/
适用于普通应用。
将其放在用户中立的目录中,并使其可读组。
例如,对于库,我使用 /srv/http/share/
用于跨Web应用程序共享代码。
你可以用 /usr/local/share/
适用于普通应用。
我必须为同事这样做。 @Flavius 回答 一旦我添加了一些命令来处理就很好 virtualenvwrapper
。您需要将您的venvs和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处于正常位置的钩子或脚本,您最好将其符号链接(在您的用户帐户和您的朋友的身上)
ln -s /usr/local/share/.virtualenvs ~/.virtualenvs
然后修改你的(和你朋友的) .bashrc
文件让virtualenvwrapper知道你移动的地方。你的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_new_python_project
和 workon awesome_new_python_project
。
作为奖励,每次加入时都添加钩子以加载项目文件夹 workon
。