今日の初めに、私は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
こんにちは、
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-venv
とpython3-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
最も参考になるコメント
元のポスターの問題は、「python3.6-venv」パッケージがインストールされていないことが原因です。これは、バスターDebianにアクセスできない場合にDockerを使用して確認できます。
'python3.6-venv'をインストールすると、動作するはずです。