web-dev-qa-db-ja.com

zlibというモジュールはありません

まず、私と一緒に耐えてください。私は他の人に私の問題を伝えるのに苦労しており、これは長いスレッドです...

Pythonbrewを使用して、Ubuntu 10.10でpythonの複数のバージョンを実行しています。pythonbrewのインストールとその動作については、以下のリンクを参照してください。

http://www.howopensource.com/2011/05/how-to-install-and-manage-different-versions-of-python-in-linux/

いくつかの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というモジュールは受け取りませんでした。

[email protected]:~$ 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もインストールし、問題なくテストしたので、問題は不足しているモジュールのインストール方法にあると思います。

[email protected]:~$ 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.
[email protected]:~$ 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.
42
CppLearner

Zlibのdevelパッケージをインストールする必要があるように聞こえますが、おそらくSudo apt-get install zlib1g-devのようなことをしたいでしょう(ubuntuは使用しないので、パッケージを再確認してください)。 python-brewを使用する代わりに、手動でコンパイルすることを検討することもできますが、それほど難しくありません。ソースとconfiguremakemake 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がzlibsqlite3などのモジュールをビルドできるようにすることです。 pythonのドキュメントでは、ビルドプロセスについて詳しく説明しています: http://docs.python.org/using/unix.html#building-python

30
zeekay

デフォルトでは、Python source、zlibモジュールは無効になっているため、設定時に-with-zlibオプションを使用して有効にできます。

./configure --with-zlib
22
azwar

私が出会ったケースでは、make後にモジュールが欠落していることがわかりました。だから私は次のことをしました:

  1. zlib-develをインストールする
  2. pythonを再度作成してインストールします。
19
jawjaway

Configureを実行した後、ファイルModules/Setupのconfigオプションを次のように変更できます。

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

または、zlib行のコメントをそのまま解除することもできます。

9
YYDywc

不足しているzlib devパッケージをインストールした後、pythonbrewを使用してpythonのバージョンをアンインストールしてから再インストールすると、新しいパッケージをピックアップして機能を修正するように見えます。 pythonbrewを使い続けることができ、自分でコンパイルする必要はありません(それほど難しくありませんが)

3
dnfehren

私が見つけた最も簡単な解決策は、 python.org devguideにあります:

Sudo apt-get build-dep python3.6

そのパッケージがシステムで利用できない場合は、システムのパッケージマネージャーで利用可能なパッケージが見つかるまで、マイナーバージョンを減らしてみてください。

私のブログ で詳細を説明してみました。

0
shibli049

tensorflowインストールガイド で説明されているように、仮想環境(venv)の作成に多くの問題がありました。

この投稿にリストされているコマンドのほとんどは、私にも役に立たなかった。

  1. pip3 install --user pipenv
  2. pip install virtualenv

依存関係をインストールして仮想環境を作成します

  1. mkdir myenv

myenvという名前の新しいディレクトリを作成しますが、好きなように呼び出すことができます。 mynewenv

  1. cd myenv

または、ディレクトリと呼ぶものは何でも:cd [your_directory_name]

  1. virtualenv -p /usr/bin/python3 venv

venvという仮想環境をフォルダーmyenvに作成します。仮想envを好きなように呼び出すことができます。 vitualenv [v_env_name]

  1. source ./venv/bin/activate

仮想環境をアクティブにします。別のv。envを選択する場合は注意してください。コマンドにそのような名前を付けてくださいsource ./[v_env_name]/bin/activate

  1. deactivate

仮想環境を非アクティブ化します。

注:Python 3.6.6およびUbuntu 18.04を使用しています

コマンドのソース

0
FlyingZipper

私の目的は、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の指示に従って実行したところ、完全に機能しています!それは簡単な解決策です。

0
PowerRanger100