私はPython3.5.2( /usr/bin/python3.5
)を実行しており、Ubuntu16.04でPip38.1.1( /usr/bin/pip3
)を使用し、aptを介してpython3-virtualenv
インストールしています。 dpkgでは、バージョンはpython3-virtualenv/xenial-updates 15.0.1+ds-3ubuntu1 all
です。
次のコマンドを実行して新しい環境を作成すると、次のようになります。
virtualenv --python=/usr/bin/python3.5 env
pip3のバージョンは8.1.1(私のシステムにインストールされている唯一のpip3)であると期待しています。 代わりに、仮想環境をアクティブにすると、 pip --version
は次のように出力します。
pip 10.0.0b2 from /home/ubuntu/env/lib/python3.5/site-packages/pip (python 3.5)
暫定的な解決策として、環境を作成した直後にダウングレードすることができますが、これは意図した動作ではないようです。 追加情報が役立つかどうか、またはどのような追加情報が役立つかを教えてください。
PIP_PRE
環境変数、または--pre
引数を指定するpip構成ファイルがありますか? または、プレリリースバージョンをインストールするためにディストリビューションにパッチを適用したpipがあります(おそらく、私は思っていたでしょう)。 PyPI(またはgithub)のvirtualenvでこの動作を再現できますか?
申し訳ありませんが、それも含めるつもりでした! 環境にPIP*
変数が設定されておらず、pip構成ファイルもありません。 distにパッチが適用されているとは思いませんが、確認できませんでした。
PyPIまたはGithubのvirtualenvを使用して再現し、元に戻します。
@ jwarren116 virtualenvは、新しいvirtualenvを作成するときに(利用可能な場合はローカルpipキャッシュを使用して)、PyPIからsetuptools、pip、およびwheelの利用可能な最新バージョンをフェッチすると思います。 そして、virtualenv 15.1.0までは、それを行うときに内部的に「PIP_PRE = 1」を設定していました。 したがって、virtualenv 15.1.0以降にアップグレードすると、少なくともpip9.0.3が新しいvirtualenvにインストールされます。 virtualenvでpip8.1.1が特に必要な場合は、作成後に明示的にダウングレードする必要があると思います。
@jmbowmanその説明に感謝します。 virtualenvがPIP_PRE
設定したことを思い出しましたが、ソースを調べても見つかりませんでした。 歴史に戻ることは私には思い浮かばなかった。
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 開いたままにしておきたい場合は、コメントを追加してください。 貢献していただきありがとうございます。
最も参考になるコメント
@ jwarren116 virtualenvは、新しいvirtualenvを作成するときに(利用可能な場合はローカルpipキャッシュを使用して)、PyPIからsetuptools、pip、およびwheelの利用可能な最新バージョンをフェッチすると思います。 そして、virtualenv 15.1.0までは、それを行うときに内部的に「PIP_PRE = 1」を設定していました。 したがって、virtualenv 15.1.0以降にアップグレードすると、少なくともpip9.0.3が新しいvirtualenvにインストールされます。 virtualenvでpip8.1.1が特に必要な場合は、作成後に明示的にダウングレードする必要があると思います。