Python 3.3以降の場合(新しいvenv
組み込みモジュールを使用)
短い答え(バージョンに関係なく):
- 仮想環境を移動するためのクリーンで直接的な方法はありません
- 再現するだけで簡単!
長い答え:
Python v3.3以降、virtualenv
はという名前の組み込みモジュールになりましたvenv
。
--relocatable
他の回答に記載されたオプションは、に含まれていなかったvenv
、と現時点では良い、私はどちらかの名前を変更するの承知しているか、Pythonの仮想環境を再配置することを安全な方法はありません。
ただし、現在インストールされているすべてのパッケージを使用して、仮想環境を単純に再作成する非常に簡単な方法があります。参照してください、この答えを、または仮想環境を再作成の詳細については、以下のセクションを参照してください。プロセス中に、任意の場所で任意の名前で新しい環境を再作成できます。または、プロセスについては以下のセクションを参照してください。
その回答の中で、彼は直接の名前変更または移動をサポートする可能性のある他のいくつかのサードパーティパッケージについて言及しています。仮想環境をそのまま移動する方法を追求することに決心している場合は、それらが機能するかどうかを調べることができますvenv
。
注:その回答ではvirtualenv
、ではなく、に焦点を当てていvenv
ます。翻訳方法については、以下を参照してください。
venv
対古いvirtualenv
コマンド構文
使用するコマンドvenv
は次のとおりです。
python -m venv
virtualenv
元のパッケージにコマンドとしてインストールされるだけでなく、「python」とは、Python実行可能ファイルを実行することを指します。これは、次のようなさまざまなものである可能性があります。
python
py
またはpy -3.7
または同様のもの(現時点では、Python3.3以降およびWindows用のWindows用Pythonランチャー)
python3
(Python 2と3をデュアルインストールするLinux環境の規則)
- 問題が発生した場合は、実行するPython実行可能ファイルへの絶対パスを使用してください。
c:\program files\python37\python.exe
実行されているバージョンがわからない場合は、いつでもpython --version
確認できます。
仮想環境を再作成する方法
仮想環境の作成/再作成は簡単であり、少し作業した後は第二の性質になるはずです。このプロセスは、前半にスクリプトをパッケージとして(依存関係を含めて)配布するために行うことと、その後の開発のためにスクリプト/パッケージをインストールするために誰かが行うことを反映しています。
まず、仮想環境にあるものの更新されたリストを取得します。アクティブにした状態で、使用するPythonバージョンを取得し、依存関係のリストをファイルに保存します。
python --version
仮想環境をアクティブにして使用し、使用しているPythonのバージョンを確認します。
- これは明確にするためです-さまざまな理由でPythonバージョンを更新する必要があるかもしれません-少なくとも最新のパッチバージョンに
- たとえば、既存のvenvがPython v3.7.4を使用しているが、現在v3.7.6がリリースされている場合は、代わりにv3.7.6を使用します。これには、セキュリティとバグの修正が含まれている必要があります。
使用するpython -m pip freeze > requirements.txt
現在のパッケージの依存関係のリストを作成し、に入れrequirements.txt
たファイル。このコマンドは、LinuxまたはGit Bashで確実に機能します。WindowsのPowershellまたはコマンドラインについては100%確実ではありません。
次に、新しい仮想環境を作成してから、古い環境からの依存関係を追加します。
新しいvenvを作成します。
- venvにインストールする正しいバージョンのPythonを使用していることを確認してください。
- まったく同じPythonバージョンにしたい場合:
- 現在の仮想環境から(アクティブ化された状態で)Pythonを直接実行
python
し、コマンドとして使用するだけです
- または
python.exe
、仮想環境フォルダー内で絶対パスを使用します
- コマンドの新しいvenvフォルダーエントリの場合:
- 目的の最終フォルダの場所に絶対パスまたは相対パスを追加します。
python -m venv my_new_venv
新しいmy_new_venv
フォルダの現在の作業ディレクトリに新しい仮想環境を作成するために使用します。
- venvフォルダーの名前は、venvの名前(アクティブ化されたときにプロンプトに表示される名前)になります。
requirements.txt
ファイルから依存関係をインストールします。
python -m pip install -r requirements.txt
開発モードのローカルパッケージを再インストールする必要がある場合があります。
パッケージがインストールされている特定の場所を確認する必要がある場合は、次を使用してください。
python -m pip list -v
-v
または「冗長」オプションは、それがインストールされているパスを含むインストールされている各パッケージに関するいくつかの情報を追加します。これは、まっすぐあなたが維持している仮想、ユーザー、およびシステムインストールパッケージを作成するのに便利です。
この時点で、古いvenvフォルダーとすべてのコンテンツを削除できます。そのためにGUIを使用することをお勧めします。ファイルの削除はLinuxコマンドラインから永続的に行われることが多く、小さなタイプミスは悪いニュースになる可能性があります。