14

Python のバージョンを管理するために pyenv を使い始めたばかりで、virtualenv を管理するために pyenv virtualenv プラグインを使い始めました。しかし、私が見逃していることの 1 つは、virtualenv を使用すると、仮想環境を実際にリポジトリ ディレクトリに配置して、リポジトリを完全に再現可能な環境にすることができるということです。pyenv で virtualenv のディレクトリを選択する方法を知っている人はいますか?

4

4 に答える 4

10

簡単な答え: 私の知る限り、できません。

それも本当にうまくいきませんよね?virtualenv をレポジトリにインストールするために使用pyenv virtualenvし、そのレポを別のマシンに複製するとpyenv、新しいマシンでレポジトリ内の virtualenv をどのように制御できるのでしょうか?

また、「あなたはおそらくそれをすべきではありません」。Virtualenv は、基礎となる Python インストールから 100% 分離されているわけではなく、実際にはそれほど移植性がありません。そして、簡単にレプリケートできるジャンクをリポジトリに散らかしたいですか? 物事を進めるための「正しい」方法は、おそらくrequirements.txtfor pip を維持することです。そうすれば、リポジトリをどこにクローンしても、開発環境を簡単に再現できます。

そうは言っても、制御下でPythonインタープリターにインストールしたとしても、プレーンオールドvirtualenvを使用して好きな場所にvirtualenvを作成することを妨げるものは何もありません. もちろん、その virtualenv 自体はによって管理されませんが、これまでと同じように使用できます…</p> virtualenvpyenvpyenv

于 2016-04-11T13:56:19.460 に答える
3

これについて尋ねるプロジェクト トラッカーの GitHub の問題は次のとおりです: https://github.com/pyenv/pyenv/issues/802

プロジェクト協力者からの返信は次のとおりです。

virtualenv は任意の場所に作成できます。pyenv から使用するには、環境へのシンボリック リンクを ~/.pyenv/versions に作成します。

ただし、このソリューションにはあまり満足していないと言わざるを得ません。

于 2019-12-10T13:08:54.470 に答える
2

回避策があります

プロジェクト ディレクトリに.python-versionファイルを作成します。を使用して仮想環境を既にインストールしていると仮定してpyenv-virtualenv、次の行をそれに追加します (バージョン番号を変更することをお勧めします)。

3.7.1/envs/your-project-name@3.7.1

ディレクトリに入るたびに、正しい python バージョンが使用され、非常にうまく機能します。

于 2018-10-27T18:11:51.257 に答える
0

どうですか:

pyenv install -s 3.8.3 # install preferred version if needed
PYENV_VERSION=3.8.3 python -m venv /tmp/your/prefered/dir ; source /tmp/your/prefered/dir/activate

この方法では、virtualenv ではなく venv を使用することに注意してください。これはわずかに異なりますが、標準ライブラリの一部です。

于 2021-10-04T19:25:57.733 に答える