web-dev-qa-db-ja.com

Ubuntu 18.04でpython3.7をインストールしてpipでvirtualenvを作成する方法は?

Ubuntu 18.04のpython 3.7で、pip(またはvirtualenvにパッケージをインストールする何らかの方法)を使用して、標準のvirtualenvを設定しようとしています。 python3.7をインストールする標準的な方法は% Sudo apt install python3.7 python3.7-venv % python3.7 -m venv py37-venvのようですが、2番目のコマンドは失敗します:

Ensurepipが利用できないため、仮想環境は正常に作成されませんでした。 Debian/Ubuntuシステムでは、次のコマンドを使用してpython3-venvパッケージをインストールする必要があります。

apt-get install python3-venv

そのコマンドでSudoを使用する必要がある場合があります。 python3-venvパッケージをインストールした後、仮想環境を再作成します。

失敗したコマンド:['/py37-venv/bin/python3.7'、'-Im'、'ensurepip'、'--upgrade'、'--default-pip']

これは本当です;このPythonには、surepipもpipもインストールされていません。そして、python3.7-venvをすでにインストールしました(python3-venvはDebian/Ubuntuのpython3.6用です)。複数のpythonバージョンやルートアクセスが必要なため、pythonコミュニティでこれについての議論がいくつかあり、aptを介してpythonモジュールをインストールする別の方法があります。または類似。

Pip(--without-pip)を使用せずにvirtualenvを作成することはできますが、新しいvirtualenvにパッケージをインストールする方法はありません。

では、virtualenvを使用して18.04にpython3.7をインストールして使用するための「ベストプラクティス」として受け入れられている方法は何でしょうか。

8
GaryO

ベストプラクティスかどうかはわかりませんが、python3-venvもインストールすると、すべて動作します(これは、新しいDebianバスタードッカーイメージでテストされています)。

% Sudo apt install python3.7 python3-venv python3.7-venv
% python3.7 -m venv py37-venv
% . py37-venv/bin/activate
(py37-venv) % 

Python3.6もすべて不必要にインストールされることに注意してください。したがって、私はそれが好きだと正確に言うことはできませんが、少なくとも機能し、無署名のスクリプトをget-pip.pyします。

19
GaryO