まず、私と一緒に耐えてください。私は他の人に私の問題を伝えるのに苦労しており、これは長いスレッドです...
Pythonbrewを使用して、Ubuntu 10.10でpythonの複数のバージョンを実行しています。pythonbrewのインストールとその動作については、以下のリンクを参照してください。
いくつかのstackoverflowスレッドを読んだ後、最終的にこのディレクトリの下にSetupというファイルが見つかりました:〜/ .pythonbrew/pythons/Python-2.7.1/lib/python2.7/config
In this Setup file I see
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
# zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
最後の行のコメントを外してから、python -vを再度実行しました。しかし、import zlibを試みたときに同じエラーを受け取ったので、zlibをlibにインストールするために何かをしなければならないと思います。
しかし、私は私が何をする必要があるかについて無知です。誰かが正しい方向に私を導くことができますか???どうもありがとうございました!
私が作成した異なるvirtualenvで異なるバージョンpythonを使用したいので、これを行っています。virtualenv -p python2.7zlibというモジュールは受け取りませんでした。
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python2.7 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-2.7.1/bin/python2.7
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 17, in <module>
import zlib
ImportError: No module named zlib
[〜#〜] edit [〜#〜]
--forceを追加して2.7.1をインストールする必要があります。
私はDjangoを開発していますが、これらの欠落しているモジュールのいくつか、たとえばsqlite3が必要です。また、virtualenvを作成するにはzlibが必要です。システムのデフォルト(2.6.6)を使用するだけであれば、問題はありません。
システムデフォルトでこれを行うには、私がする必要があるのは
virtualenv --no-site-packages testenv
ありがとう!
(2回目の編集)
3.2もインストールし、問題なくテストしたので、問題は不足しているモジュールのインストール方法にあると思います。
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.
Zlibのdevelパッケージをインストールする必要があるように聞こえますが、おそらくSudo apt-get install zlib1g-dev
のようなことをしたいでしょう(ubuntuは使用しないので、パッケージを再確認してください)。 python-brewを使用する代わりに、手動でコンパイルすることを検討することもできますが、それほど難しくありません。ソースとconfigure
、make
、make install
をダウンロードするだけです。少なくとも--prefix
をどこかに設定する必要があるので、必要な場所にインストールされます。
./configure --prefix=/opt/python2.7 + other options
make
make install
./configure --help
で使用可能な構成オプションを確認し、システムpythonを使用してコンパイルされたものを確認できます。
python -c "import sysconfig; print sysconfig.get_config_var('CONFIG_ARGS')"
重要なのは、システムに開発パッケージがインストールされていることを確認して、Pythonがzlib
、sqlite3
などのモジュールをビルドできるようにすることです。 pythonのドキュメントでは、ビルドプロセスについて詳しく説明しています: http://docs.python.org/using/unix.html#building-python 。
デフォルトでは、Python source、zlibモジュールは無効になっているため、設定時に-with-zlibオプションを使用して有効にできます。
./configure --with-zlib
私が出会ったケースでは、make後にモジュールが欠落していることがわかりました。だから私は次のことをしました:
Configureを実行した後、ファイルModules/Setupのconfigオプションを次のように変更できます。
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
または、zlib行のコメントをそのまま解除することもできます。
不足しているzlib devパッケージをインストールした後、pythonbrewを使用してpythonのバージョンをアンインストールしてから再インストールすると、新しいパッケージをピックアップして機能を修正するように見えます。 pythonbrewを使い続けることができ、自分でコンパイルする必要はありません(それほど難しくありませんが)
私が見つけた最も簡単な解決策は、 python.org devguideにあります:
Sudo apt-get build-dep python3.6
そのパッケージがシステムで利用できない場合は、システムのパッケージマネージャーで利用可能なパッケージが見つかるまで、マイナーバージョンを減らしてみてください。
私のブログ で詳細を説明してみました。
tensorflowインストールガイド で説明されているように、仮想環境(venv)の作成に多くの問題がありました。
この投稿にリストされているコマンドのほとんどは、私にも役に立たなかった。
pip3 install --user pipenv
pip install virtualenv
依存関係をインストールして仮想環境を作成します
mkdir myenv
myenvという名前の新しいディレクトリを作成しますが、好きなように呼び出すことができます。 mynewenv
cd myenv
または、ディレクトリと呼ぶものは何でも:cd [your_directory_name]
virtualenv -p /usr/bin/python3 venv
venvという仮想環境をフォルダーmyenvに作成します。仮想envを好きなように呼び出すことができます。 vitualenv [v_env_name]
source ./venv/bin/activate
仮想環境をアクティブにします。別のv。envを選択する場合は注意してください。コマンドにそのような名前を付けてくださいsource ./[v_env_name]/bin/activate
deactivate
仮想環境を非アクティブ化します。
注:Python 3.6.6およびUbuntu 18.04を使用しています
私の目的は、Ubuntuのコマンドラインから新しいDjangoプロジェクトを作成することでした。
Django-admin.py startproject mysite
Python2.7.5がインストールされています。私はこのエラーを受け取りました:
ImportError: No module named zlib
今まで何時間も解決策が見つかりませんでした!
ソリューションへのリンクは次のとおりです-
http://doc.biblissima-condorcet.fr/loris-setup-guide-ubuntu-debian
セクション1.1の指示に従って実行したところ、完全に機能しています!それは簡単な解決策です。