python3.x - centos下,python在virtualenv新建python3报错
迷茫
迷茫 2017-04-17 17:35:13
0
2
936

使用virtualenv -p /usr/local/bin/python3.4 py34env安装python3环境报错,缺少zlib
可在python中导入zlib缺没有报错,错误如下:

[root@localhost crazycabbage]# virtualenv -p /usr/local/bin/python3.4 py34env
Running virtualenv with interpreter /usr/local/bin/python3.4
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 22, in <module>
    import zlib
ImportError: No module named 'zlib'
[root@localhost crazycabbage]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zlib
>>> 

Google后说在编译时加上--with-zlib,可报错 unrecognized options: --with-zlib,求大神帮忙!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(2)
刘奇

CentOS-7 は、Python2.7.5 の下に shell を入力した後に入力するインタープリターに記述されているように、デフォルトで Python としてインストールされます: Python 2.7.5 (default, Nov 20 2015, 02:00:19)。

Python3.4 は自分でインストールする必要があります。2.7.5 はダウンロードできるのに import zlib がダウンロードできない理由は、3.4 ライブラリに 3.4 ライブラリがないことが原因である可能性があります。最初に zlib が存在するかどうかを確認する必要があります 3.4zlib

ターミナルに

と入力して /usr/local/bin/python3.4 のインタープリタに入り、次に 3.4 を入力して import zlib 例外が報告されているかどうかを確認します。報告されている場合は ImportError、すべてが正常であれば、引き続き次の内容を読み続けます。普通です、私に渡してください メッセージを残してください……

正しい

がインストールされていることを確認するには、Python バージョンに対応する zlib を再コンパイルしてインストールする必要があります。zlib もインストールすることをお勧めします。 zlib-devel

しかし、多くの場合、再インストールは機能しません。または、

などのパッケージ マネージャーを使用してインストールすると、インストール プロセス中に「すでに存在します」や「インストールされています」(もちろん英語) などの単語が表示されます。強制インストール後も使用できません。 Yum

これは、まだ

のライブラリ ディレクトリにインストールされているためです。解決策は次のとおりです。 Python2.7

のインタープリタで、次のコードを入力して 2.7 ライブラリ ディレクトリを表示します:

リーリー Python2.7.5出力結果:

リーリー

最も直接的な方法は、Python3.4 のシステム パスに必要なディレクトリを追加することです。

まず、システムのデフォルトの Python を Python2.7.5 ではなく Python3.4 に変更します。

リーリー
ターミナルに

と入力して通訳者の認証に入ります。

次に、Python を実行してシステム環境変数を編集します。編集モードに入ったら、ファイルの最後に次の文を追加します。xxx は必要なライブラリ ディレクトリです。コロンで区切ります。ターミナルに
を入力してターミナルを有効にするか、デバイスを直接再起動します。 vim ~/.bashrcどのディレクトリ export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/xxx/:/usr/lib64/python2.7/xxx/ が入っているかをどうやって知ることができるのかと疑問に思われるかもしれません。ああ、わかった、最後まで人々を助けてください... source ~/.bashrc
インタプリタを入力し、上記の zlib ディレクトリ出力を 1 つずつ
リストに Python3.4 入れてから、2.7 試してみてください、いいえ、エラーが報告されるまで、この方法は粗雑ですが効果的です。 append sys.path ディレクトリ全体をインポートするのは直接的で便利ですが、3.4 ライブラリと競合する可能性があるため、import zlib がどのファイルであるかを把握してから、

のシステム パスに移動することをお勧めします。 as zlibこれには copy このファイルのみが必要です。 3.4わかりません、ごめんなさい..._sqlite3 _sqlite3.so試してみてください。理論的には実行できます。zlib

いいねを押す +0
大家讲道理

--with-zlib は、Pyton 3.4 のコンパイル時に追加したことを意味します。これは明らかに、Python 2.7 バージョンには zlib がコンパイルされていますが、3.4 にはコンパイルされていないことが原因です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート