40

デフォルト設定で共有Linuxサーバーにvirtualenvとvirtualenvwrapperをインストールしました(virtualenvは〜/ .virtualenvsにあります)。正しい virtualenv がアクティブ化されている場合にのみ実行できる Python スクリプトがいくつかあります。

これらのスクリプトをサーバー上の他のユーザーと共有したいのですが、virtualenvについて何も知らなくても...実行できるようにするpython scriptname./scriptname、スクリプトをvirtualenvで利用可能なライブラリで実行します。

これを行う最もクリーンな方法は何ですか? 私はいくつかのオプションをいじりました(仮想環境が提供するインタープリターを指すようにシバン行を変更するなど)が、それらは非常に柔軟性がないようです。助言がありますか?


編集:これは、他の数人がアカウントを持っている開発サーバーです。しかし、誰も Python プログラマーではありません (私は現在、彼らを変換しようとしています)。非 Pythonista に環境の詳細を公開することなく、これらのスクリプトを簡単に実行してロジックを検査できるようにしたいだけです。ありがとう。

4

3 に答える 3

106

スクリプトの開始時に次のmagic(5)を使用します。

#!/usr/bin/env python

アクティブなvirtualenvを変更すると、そのvirtualenvのPythonが使用されます。virtualenvを非アクティブ化しますが、引き続き実行されます。

于 2010-02-13T00:21:43.333 に答える
6

scriptname正しい virtualenv python を指すシバン行を追加することに投票します。ユーザーにフル パスを伝えるscriptname(または PATH に入れる) だけで、ユーザーはそれが Python スクリプトであることを知る必要さえありません。

ユーザーがプログラマーである場合、virtualenv について知ってもらいたくない/学んでほしくない理由がわかりません。

于 2010-02-12T17:45:04.757 に答える
-1

1 つのサーバー上にのみある場合、柔軟性は関係ありません。シバンを変更します。それが心配な場合は、virtualenv を使用しない開発サーバーに、パッケージ化されたインストール済みのコピーを作成してください。開発が終了すると、それがローカル ユーザーであろうとグアテマラのユーザーであろうと、virtualenv は適切なツールではなくなります。

于 2010-02-12T18:48:17.117 に答える