使用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
,求大神帮忙!
CentOS-7
dipasang secara lalaiPython2.7.5
, seperti yang ditulis dalam penterjemah yang anda masukkan selepas memasukkanshell
di bawahPython
:Python 2.7.5 (default, Nov 20 2015, 02:00:19)。
Python3.4
harus dipasang sendiri Sebab mengapa2.7.5
boleh dimuat turunimport zlib
tetapi3.4
tidak boleh dimuat turun mungkin kerana pustaka3.4
anda tidak mempunyai pustakazlib
, jadi Anda. kena sahkan sama ada3.4
ada atau tidakzlib
dahulu.Input terminal
/usr/local/bin/python3.4
untuk memasukkan penterjemah3.4
, kemudian masukkanimport zlib
untuk melihat jika terdapat sebarang pengecualianImportError
dilaporkan, jika ya, teruskan membaca kandungan berikut, jika semuanya biasa, berikan sahaja kepada saya Tinggalkan mesej……Anda perlu cuba menyusun semula dan memasang
Python
yang sepadan dengan versizlib
untuk memastikanzlib
yang betul dipasang, malah saya mengesyorkan agar anda memasangzlib-devel
juga.Tetapi banyak kali pemasangan semula tidak berfungsi, atau apabila memasang menggunakan pengurus pakej seperti
Yum
, anda akan melihat perkataan seperti "sudah wujud" dan "dipasang" (dalam bahasa Inggeris sudah tentu) semasa proses pemasangan , atau ia masih tidak boleh digunakan selepas pemasangan paksa.Ini kerana ia masih dipasang dalam direktori perpustakaan
Python2.7
Penyelesaiannya adalah seperti berikut:Dalam penterjemah
Python2.7.5
, masukkan kod berikut untuk melihat direktori perpustakaan 2.7:Hasil keluaran:
Kaedah paling langsung ialah menambah direktori yang diperlukan pada laluan sistem Python3.4.
Mula-mula tukar Python lalai sistem anda kepada Python3.4 dan bukannya Python2.7.5:
Masukkan
Python
dalam terminal untuk memasuki pengesahan jurubahasa.Kemudian jalankan
vim ~/.bashrc
untuk mengedit pembolehubah persekitaran sistem Selepas memasuki mod pengeditan, tambahkan ayat iniexport PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/xxx/:/usr/lib64/python2.7/xxx/
di hujung fail ialah direktori perpustakaan yang anda perlukan, dan kemudian masukkansource ~/.bashrc
dalam terminal untuk menjadikannya terminal semasa sah, atau mulakan semula peranti secara langsung.Anda mungkin bertanya kepada saya, bagaimana saya tahu direktori mana
zlib
berada dalam? Eh, okey, bantu orang sampai habis...Masukkan penterjemah
Python3.4
, letak2.7
output direktori di atas satu persatuappend
ke dalam senaraisys.path
, dan kemudianimport zlib
cuba , tidak Sehingga ralat dilaporkan, kaedahnya kasar tetapi berkesan.Walaupun mengimport keseluruhan direktori adalah langsung dan mudah, ia mungkin bercanggah dengan pustaka 3.4, jadi anda lebih baik mengetahui fail mana
zlib
, dan kemudiancopy
pergi ke laluan sistem3.4
, seperti sebagai_sqlite3
Perkara ini hanya memerlukan_sqlite3.so
fail ini.zlib
Saya tidak tahu, maaf...Cuba saja, secara teori boleh buat,
--with-zlib
bermakna anda menambahkannya semasa menyusun Pyton 3.4. Ini jelas kerana versi Python 2.7 anda mempunyai zlib yang disusun tetapi 3.4 tidak.