4

だから私は共有コンピュータで作業しています。これは、部門全体の計算の主力です。私たちが遭遇した問題は、インポートされたモジュールのバージョンを制御することです。バイオパイソンを例にとってみましょう。古いバージョンの biopython - 1.58 が必要な人もいます。さらに、最新の biopython - 1.61 を必要とする人もいます。モジュールの両方のバージョンを並べてインストールする方法と、特定のバージョンに具体的にアクセスする方法を教えてください。私が質問するのは、これらの API が変更され、他の人のために古いスクリプトが壊れてしまうことがあるためです (または、もはや存在しない特定の機能を期待しているからです)。

モジュールをローカルに(つまり、ユーザーごとに)インストールし、特にpythonをそのモジュールに誘導できることを理解しています。これを処理する別の方法はありますか?それとも、使用する前にエクスポート PYTHONPATH を作成する必要がありますか?

4

2 に答える 2

2

特定のモジュールのアクティブなインストール済みバージョンを変更できるかどうかはわかりません。インポートとサイト パッケージがどのように機能するかを理解しているので、いいえに傾いています。

でも使用を検討しましvirtualenvたか?

virtualenv を使用すると、複数の共有環境を作成できます。1 つは biopython 1.58 用、もう 1 つは 1.61 用、もう 1 つは必要なその他の特別な状況用です。特定のユーザーにロックダウンする必要はありません。そのため、必要以上のスペースを必要としますが、全員が独自の Python 環境を持っている場合よりもスペースが少なくて済みます。

于 2013-03-20T16:40:48.773 に答える
1

科学計算を行っているようですね。Anacondaを使用し、ここに記載されcondaているツールに特に注意してください。

Conda は、同じファイルのコピーを避けるために、可能な限りハード リンクを使用します。また、virtualenv よりもはるかに優れた方法で非 Python バイナリ モジュールを管理します (たとえば、virtualenv は VTK でチョークします)。

于 2013-03-20T16:46:18.470 に答える