2017-04-06 10 views
0

最初に私の希望する解決法の概要を説明し、次にこの状態を達成するための特定の質問について詳しく説明します。異なるプロジェクト用の仮想環境とPythonバージョン

すぐにPythonで2つのコーディングプロジェクトを開始します。以前はpythonを使ってきましたが、そのような大きなプロジェクトでは決して使っていません。私の理想的なシナリオは、さまざまなプロジェクトに仮想環境と異なるPythonバージョンを実行できる設定をすることです。いくつかの研究は私にvirtualenv/virtualenvwrapperとpyenvを指摘しました。 pyenv-virtualenvまたはpyenv-virtualenvwrapperを使用しているようですが、特定のプロジェクトにvirtualenvironmentとpythonのバージョンを指定する良い方法があります。

質問:特定のプロジェクト用に仮想環境とPythonバージョンをセットアップしたら、後の段階で新しいPythonバージョンに切り替えるのが簡単にできますか?私がプロジェクトAをpython 3.4で起動したとしましょう。将来は、すべてをPython 3.6に移行したいと考えています。これはきちんとした方法で可能ですか?

答えて

1

を確認します。つまり

$ rm -r my-python-3.4-env 
$ virtualenv -p python3.6 my-python-3.6-env 
$ source my-python-3.6-env/bin/activate 

、各仮想環境は、その中に必要なファイルを持つだけでフォルダです。 source .../activateコマンド(virtualenvの場合)を使用して環境を「アクティブ化」し、そのまま放置します。別の環境に切り替えるには、特定のPython実行可能ファイルで新しいファイルを作成し、それをアクティブ化するだけです。

インストールを再現性のあるものにすることは慎重にしてください。つまり、外部モジュール(現代のプロジェクトが通常行う)に依存している場合は、各依存関係を手作業でインストールして自動化する必要はありません。たとえば、依存関係の一覧を表示するsetuptools setup.py fileを作成し、新しい環境に自動的にインストールするようにします。

$ source my-python-3.6-env/bin/activate 
(my-python-3.6-env) $ python setup.py develop 
+0

ありがとうございます!それはまさに私が探していたものでした! – math

関連する問題