私は1つのユーザアカウントにPython virtualenv(virtualenvwerapperで作成)を持っています。私は同じホスト上の別のユーザーアカウントから使用したいと思います。Pythonのvirtualenv環境を共有する
どうすればいいですか? ホスト上の任意のユーザーが使用できるように仮想環境を設定するにはどうすればよいですか? (主にLinux/DebianでもMac OSXでも)
ありがとう。
私は1つのユーザアカウントにPython virtualenv(virtualenvwerapperで作成)を持っています。私は同じホスト上の別のユーザーアカウントから使用したいと思います。Pythonのvirtualenv環境を共有する
どうすればいいですか? ホスト上の任意のユーザーが使用できるように仮想環境を設定するにはどうすればよいですか? (主にLinux/DebianでもMac OSXでも)
ありがとう。
ユーザー中立のディレクトリに入れて、グループで読み取り可能にします。
例えば、図書館では、Webアプリケーション間でコードを共有するのに/srv/http/share/
を使用します。
通常のアプリケーションでは/usr/local/share/
を使用できます。
私は同僚のためにこれを行う必要がありました。 @Flavius answerは、virtualenvwrapper
を処理するためのコマンドをいくつか追加したところ、うまくいきました。 venvsとWORKONプロジェクトフォルダをあなたとあなたの上司/友人が見つけて使用できる場所に置く必要があります。
mkproject
と
workon
両方にできるようにしたいと仮定すると、
sudo mkdir -p /usr/local/share
sudo mv ~/.virtualenvs /usr/local/share
sudo mkdir -p /usr/src/venv/
:
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に渡して、どこに物事を移したかを知らせます。ログアウトとバックに(あるいは単にsource ~/.bashrc
あなたがmkproject awesome_new_python_project
とworkon awesome_new_python_project
のようなコマンドで行くことに良いことがありたら、ボーナスとして
を
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
にフックを追加します。あなたのbashrcには、このような何かを持っている必要がありますworkon
。
私はそれを動作させるように見えません(設定時にモジュールが見つかりません) 'mkdir -p/usr/src/venv'の役割は何ですか?それは何のために使われますか? – pepe
そのディレクトリを使用するためのvirtualenv/virtualenvwrapperの構文は?virtualenvwrapperでは、コマンドライン<< workon some_env >>はユーザーの.virtualenvディレクトリ内の環境を探します。 – chernevik
Whあなたはどういう意味ですか?あなたは 'を使います。 bin/activate'を実行します。 – Flavius
申し訳ありませんが、私は従いません。環境に切り替えると、私のコマンドラインは<< workon some_env >>です - 私はビンに触れません/有効にします。 – chernevik