Virtualenv: python3.6でvirtualenvを作成中にエラーが発生しました

作成日 2017年06月22日  ·  24コメント  ·  ソース: pypa/virtualenv

今日の初めに、私はpython3.6を私のdebianマシンにインストールしました。 Python3.6はバスターディストリビューションで利用可能になりました。 python3.6でvirtualenvを作成しようとすると。

python3.6 -m venv venv

次のエラーが発生します。

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

apt-get install python3-venv

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

失敗したコマンド:['/ home / float / test / t / bin / python3.6'、 '-Im'、 'ensurepip'、 '-upgrade'、 '-default-pip']

python3-venv (3.5.3-1)インストールしています。 なぜこのエラーが発生するのですか? コマンドを実行すると

py3 -Im ensurepip --upgrade --default-pip

それは言う

/usr/bin/python3.6: No module named ensurepip

デフォルトのpython3バージョン(3.5.3)を使用してvirtualenvsを作成するのに問題はありません。

また、次のようにvirtualenvを作成できることに気付きました。

virtualenv -p python3.6 venv

最も参考になるコメント

元のポスターの問題は、「python3.6-venv」パッケージがインストールされていないことが原因です。これは、バスターDebianにアクセスできない場合にDockerを使用して確認できます。

$ docker run --rm -it debian:buster /bin/bash
$ apt update
...
$ apt install python3.5 python3.6 python3.5-venv
...
$ python3.6 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ rm -rf venv
$ apt install python3.6-venv
...
$ python3.6 -m venv venv
... success

'python3.6-venv'をインストールすると、動作するはずです。

全てのコメント24件

こんにちは、

virtualenvとpython3venv独自のモジュールは、2つのまったく異なるプロジェクト/ものです。

venvはvirtualenvと同じことをしますが、python3自体に直接統合されています。
virtualenvは基本的に歴史的なプロジェクトです(通常、venvがある間はpython3で使用しないでください)。

あなたの入力に基づいて、私はpython3-venvがあなたの側に再インストールすることかもしれないと思います( sudo apt-get reinstall python-venvまたは同様のもの)。 しかし、私は間違っている可能性があります。 とにかく、これはすべてのDebian関連のように見えます。

では、問題を解決してもらえますか? (私はここではメンテナではありません)
よろしく。

再インストールは機能しませんでした。 今すぐこの問題を閉じます。 さらに情報があれば更新します。

@animeshb 、後に出力がありません

Failing command: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

float<strong i="5">@animesh</strong>:~/test$ python3.6 -m venv venv

その行の後には何もありません。

The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.

apt-get install python3-venv

You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/float/test/t/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']

venv/binフォルダーには、アクティブ化コマンドがありません。

float<strong i="13">@animesh</strong>:~/test$ ls venv/bin/
python  python3  python3.6

このエラーに一致する多くのページの1つにのみリダイレクトできます(これはdebian / ubuntuシステムの既知の問題です):

https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847

sudo apt-get install python3-pipどうですか?

元のポスターの問題は、「python3.6-venv」パッケージがインストールされていないことが原因です。これは、バスターDebianにアクセスできない場合にDockerを使用して確認できます。

$ docker run --rm -it debian:buster /bin/bash
$ apt update
...
$ apt install python3.5 python3.6 python3.5-venv
...
$ python3.6 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ rm -rf venv
$ apt install python3.6-venv
...
$ python3.6 -m venv venv
... success

'python3.6-venv'をインストールすると、動作するはずです。

うわー、バージョン固有の-venvパッケージがあるとはまったく思いもしませんでした。 これをインストールするとうまくいきました。

@gst@eukaryoteこの問題に時間を割いていただきありがとうございます。

@eukaryoteによる解決策は私のために働いた。 これを投稿してくれてありがとう!

この回答はOPと同じエラーメッセージを生成する私の問題を解決するため、誤って構成されたロケールもこの問題を引き起こす可能性があります。

実行してみてください:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

データポイントは1つだけですが、新しいvirtualbox ubuntu bionicをいじってみると、 apt install python3.6-venvでもpython3.6 -m venvが壊れていることがわかりましたが、 apt install python3-venv修正されました。

私はDebianのテスト/バスターを使用していますが、 python3.6-venvpython3-venv両方がインストールされているのに、これと同じ問題が発生しています。

このためのDebianバグはここにあります: https ://bugs.debian.org/cgi-bin/bugreport.cgi

ニコラス
彼らはそこにそれが最後のバージョンで修復されたと書いています。 だから私は作った
aptパージpython3.6-venv
dpkg -i --force-depends-version python3.6-venv_3.6.6〜rc1-3_amd64.deb#snapshot.debian.orgから
そしてそれは私のために働きます。
おそらく後で修正が必要になります:apt --fix-broken install

ここにコメントを残して、私の後に到着した人たちのために、同じ問題をグーグルで調べます:

同じことがPythonの3.7にも当てはまり、 python3.7-venv 、つまりapt-get install python3.7-venvをインストールする必要があります

参考までに、上記のソリューションは実際にはpython3.7では機能しません。 ストックバスターDockerイメージのapt install python3.7 python3.7-venvは、まだ壊れたvirtualenvを生成します(「ensurepipは利用できません」)。 ただし、 apt install python3-venv (python3.6のすべてを不必要にインストールします)の後で、 python3.7 -m venv myvenvを使用して、適切な3.7pipを含む動作するpython3.7venvを作成できます。 したがって、完全に機能するコマンドセットは次のとおりです。

sudo apt install python3.7 python3-venv python3.7-venv # all three are required
python3.7 -m venv myvenv
. myvenv/bin/activate

(ところで、すべてのpython3.7-venvインストールはダミーシステムensurepipモジュールであることに注意してください。)

あなたは別のプロジェクトであるvenvについて話している。 このトラッカーはvirtualenv用です。

私も同じ問題に直面していました。

[ niraj @ abc〜 ] $ / python / v3.7.0 / bin / python3 -m venv avd
エラー:コマンド '[' / home / niraj / avd / bin / python3 '、' -Im '、' ensurepip '、' --upgrade '、' --default-pip ']'はゼロ以外の終了ステータス1を返しました。

LD_LIBRARYパスにlibffi3.3を追加すると、機能します

setenv LD_LIBRARY_PATH /libffi/v3.3/lib64

最初にsudo apt install python3-venvをインストールしましたが、同じ問題が発生しました。 sudo apt install python3.6-venv実行することで解決しました。

@eukaryoteはまだ機能しませんでした。 手伝ってくれますか? 私はUbuntu18.04LTSを使用しています

この回答はOPと同じエラーメッセージを生成する私の問題を解決するため、誤って構成されたロケールもこの問題を引き起こす可能性があります。

実行してみてください:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

これはUbuntu16.04.6で動作します。 どうも

この回答はOPと同じエラーメッセージを生成する私の問題を解決するため、誤って構成されたロケールもこの問題を引き起こす可能性があります。

実行してみてください:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

ありがとうございます

うわー、venvの特定のバージョンをインストールすることは私のために働いた。 私の場合、python3.8-venvです。

ありがとう@jrperin

特定のバージョンをインストールすることも私のために働きました:python3.8-venv

OSのバージョンが18.04または20.04の場合:

sudo apt remove python3.6
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6
sudo apt install python3.6-venv
sudo apt install python3.6-dev

追加のサポートソフトウェア
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

このページは役に立ちましたか?
0 / 5 - 0 評価