2

以前に作成した仮想環境 (venv1) にいくつかの python パッケージをインストールしました (パッケージとその依存関係を自動的にダウンロードした pip を使用)。次に、パッケージのサブセットがインストールされた別の仮想環境 (venv2) を作成する必要があります。 venv1. しかし、インターネットを使用せずにどうすればよいでしょうか。私はいくつかのアイデアを考え出しましたが、それらが可能かどうかはわかりません:

  • venv1 を venv2 にコピーし、不要なパッケージをアンインストールする
  • site-package 内のパッケージのディレクトリを venv1 から venv2 にコピーすることにより
  • venv1 からパッケージ ファイルを 1 つずつ抽出し、setup.py ファイルを作成し、それに従って入力し、venv2 にインストールします (退屈でエラーが発生する可能性があるため、できません)。
  • インストールされたパッケージから卵を生成したり、ツールで抽出したりする方法はありますか? どのように?

では、これを行うためのより良い方法は何ですか?

ありがとう

4

2 に答える 2

2

virtualenv使用している場合virtualenvwrapper(非常に推奨) に加えて、仮想環境をコピーすることができます

cpvirtualenv venv1 venv2

次に、新しい環境に入り、workon venv2不要なパッケージをアンインストールします。

于 2013-10-05T22:55:47.457 に答える
0

venv をコピーするのが最も簡単なオプションだと思います。ただし、その場合、最初の venv を作成するときに、次の--relocatableフラグを使用する必要があります。

$ virtualenv --help
...

--relocatable         Make an EXISTING virtualenv environment relocatable.
                      This fixes up scripts and makes all .pth files
                      relative

例えば:

$ virtualenv --relocatable venv1
$ venv1/pip/install somepackage
$ cp venv1 venv2

cp次に、venvで使用できます。

そうしないと、絶対パスが含まれているため、venv はコピー可能/移動可能になりません。

于 2013-10-05T23:01:48.067 に答える