亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
python3.x - centos下,python在virtualenv新建python3報錯
迷茫
迷茫 2017-04-17 17:35:13
[Python討論組]

使用virtualenv -p /usr/local/bin/python3.4 py34env安裝python3環(huán)境報錯,缺少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,求大神幫忙!

迷茫
迷茫

業(yè)精于勤,荒于嬉;行成于思,毀于隨。

全部回復(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.4到底有沒有zlib。

終端輸入/usr/local/bin/python3.4進入3.4的解釋器,然后輸入import zlib看看有沒有報ImportError異常,如果有,繼續(xù)看下面的內(nèi)容,如果一切正常,直接給我留言……

你需要嘗試重新編譯安裝一遍對應Python版本的zlib,以確保正確的zlib被安裝,甚至我建議你把zlib-devel也安裝了。

但很多時候重新安裝并不管用,要么會在使用Yum等包管理器安裝時,在安裝過程中看到類似“已經(jīng)存在”、“已安裝”(當然是英文提示)的字樣,要么強行安裝后依然無法使用。

這是因為它仍然安裝到了Python2.7的庫目錄下,解決方法如下:

Python2.7.5的解釋器中,輸入如下代碼,查看2.7的庫目錄:

import sys
print '\n'.join(sys.path)

輸出結果:

/usr/lib64/python27.zip
/usr/lib64/python2.7
/usr/lib64/python2.7/plat-linux2
/usr/lib64/python2.7/lib-tk
/usr/lib64/python2.7/lib-old
/usr/lib64/python2.7/lib-dynload
/usr/lib64/python2.7/site-packages
/usr/lib64/python2.7/site-packages/gtk-2.0
/usr/lib/python2.7/site-packages

最直接的方法是把所需的目錄添加到Python3.4的系統(tǒng)路徑中。
首先把你的系統(tǒng)默認Python改為Python3.4,代替Python2.7.5:

ln -fs /usr/local/bin/python3.4 /usr/bin/python

終端中輸入Python進入解釋器驗證。
然后運行vim ~/.bashrc編輯系統(tǒng)環(huán)境變量,進入編輯模式后再該文件最后加上這一句export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/xxx/:/usr/lib64/python2.7/xxx/,xxx是你需要的庫目錄,冒號分割,然后終端輸入source ~/.bashrc讓其在當前終端有效,或者直接重啟設備。
你可能會問我,我怎么知道zlib在哪個目錄?呃,好吧,幫人幫到底……
進入Python3.4解釋器,把上面輸出的2.7的目錄逐個appendsys.path這個列表里,然后import zlib試過去,不報錯為止,辦法雖土,行之有效。

導入整個目錄雖然直接且方便,但很可能會和3.4的庫有沖突,所以你最好能知道zlib是哪些文件,然后copy3.4的系統(tǒng)路徑下,譬如_sqlite3這個東西只需要_sqlite3.so這一個文件。zlib我不清楚,抱歉……

你試試唄,理論上這樣能搞定,

大家講道理

--with-zlib 應該是指你在編譯 Pyton 3.4 的時候加上。這里明顯是你的 Python 2.7 版本編譯了 zlib 而 3.4 沒有。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號