2012-02-29 19 views
9

私は1つのユーザアカウントにPython virtualenv(virtualenvwerapperで作成)を持っています。私は同じホスト上の別のユーザーアカウントから使用したいと思います。Pythonのvirtualenv環境を共有する

どうすればいいですか? ホスト上の任意のユーザーが使用できるように仮想環境を設定するにはどうすればよいですか? (主にLinux/DebianでもMac OSXでも)

ありがとう。

答えて

5

ユーザー中立のディレクトリに入れて、グループで読み取り可能にします。

例えば、図書館では、Webアプリケーション間でコードを共有するのに/srv/http/share/を使用します。

通常のアプリケーションでは/usr/local/share/を使用できます。

+0

そのディレクトリを使用するためのvirtualenv/virtualenvwrapperの構文は?virtualenvwrapperでは、コマンドライン<< workon some_env >>はユーザーの.virtualenvディレクトリ内の環境を探します。 – chernevik

+0

Whあなたはどういう意味ですか?あなたは 'を使います。 bin/activate'を実行します。 – Flavius

+0

申し訳ありませんが、私は従いません。環境に切り替えると、私のコマンドラインは<< workon some_env >>です - 私はビンに触れません/有効にします。 – chernevik

4

私は同僚のためにこれを行う必要がありました。 @Flavius answerは、virtualenvwrapperを処理するためのコマンドをいくつか追加したところ、うまくいきました。 venvsとWORKONプロジェクトフォルダをあなたとあなたの上司/友人が見つけて使用できる場所に置く必要があります。

あなたがマシン上で誰もが mkprojectworkon両方にできるようにしたいと仮定すると、
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 

そうでない場合chownchmodセキュリティ要件に合致します。次に、(ユーザーアカウントとあなたの友人の両方で)

あなたは〜/ .virtualenvsは、通常の場所であることを期待任意のフックまたはスクリプトを使用している場合、あなたはそれをよりよくシンボリックリンクは

ln -s /usr/local/share/.virtualenvs ~/.virtualenvs 

あなた(を変更あなたの友人の.bashrcファイルをvirtualenvwrapperに渡して、どこに物事を移したかを知らせます。ログアウトとバックに(あるいは単にsource ~/.bashrcあなたがmkproject awesome_new_python_projectworkon 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

+0

私はそれを動作させるように見えません(設定時にモジュールが見つかりません) 'mkdir -p/usr/src/venv'の役割は何ですか?それは何のために使われますか? – pepe

関連する問題