18

1 つのユーザー アカウントに Python virtualenv (virtualenvwerapper で作成) があります。同じホストの別のユーザー アカウントから使用したいと考えています。

これどうやってするの?ホスト上のすべてのユーザーが利用できるように仮想環境を設定するにはどうすればよいですか? (主に Linux / Debian ですが、Mac OSX も含まれます。)

ありがとう。

4

2 に答える 2

12

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

たとえば、ライブラリの場合、/srv/http/share/Web アプリケーション間でコードを共有するために使用します。

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

于 2012-02-29T20:44:15.303 に答える
7

私は同僚のためにこれをしなければなりませんでした。@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_projectworkon awesome_new_python_project

おまけとして、フックを追加して、毎回プロジェクト フォルダーを崇高にロードしますworkon

于 2014-01-21T18:22:01.070 に答える