使用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
est installé par défautPython2.7.5
, comme écrit dans l'interpréteur que vous saisissez après avoir saisishell
sousPython
:Python 2.7.5 (default, Nov 20 2015, 02:00:19)。
Python3.4
doit être installé par vous-même. La raison pour laquelle2.7.5
peut être téléchargéimport zlib
mais3.4
ne peut pas être téléchargé peut-être parce que votre bibliothèque3.4
n'a pas la bibliothèquezlib
, donc vous Il faut d'abord confirmer si3.4
est là ou nonzlib
.Saisie du terminal
/usr/local/bin/python3.4
pour saisir l'interprète de3.4
, puis saisissezimport zlib
pour voir s'il y a uneImportError
exception signalée, si c'est le cas, continuez à lire le contenu suivant, si tout est normal, donne-le-moi Laisse un message……Vous devez essayer de recompiler et d'installer le
Python
correspondant à la versionzlib
pour vous assurer que le bonzlib
est installé. Je vous recommande même d'installerzlib-devel
également.Mais souvent, la réinstallation ne fonctionne pas, ou lors de l'installation à l'aide d'un gestionnaire de packages tel que
Yum
, vous verrez des mots comme "existe déjà" et "installé" (en anglais bien sûr) pendant le processus d'installation, ou. il ne peut toujours pas être utilisé après une installation forcée.C'est parce qu'il est toujours installé dans le répertoire bibliothèque de
.Python2.7
La solution est la suivante :Dans l'interpréteur de
Python2.7.5
, saisissez le code suivant pour afficher le répertoire de la bibliothèque 2.7 :Résultat de sortie :
La méthode la plus directe consiste à ajouter les répertoires requis au chemin système de Python3.4.
Changez d'abord le Python par défaut de votre système en Python3.4 au lieu de Python2.7.5 :
Entrez
Python
dans le terminal pour saisir la vérification de l'interprète.Ensuite, exécutez
vim ~/.bashrc
pour modifier les variables d'environnement système. Après être entré en mode édition, ajoutez cette phraseexport PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/xxx/:/usr/lib64/python2.7/xxx/
à la fin du fichier xxx est le répertoire de la bibliothèque dont vous avez besoin, puis séparez-le par deux points. entrezsource ~/.bashrc
dans le terminal pour en faire le terminal actuel. Le terminal est valide, ou redémarrez directement l'appareil.Vous pouvez me demander, comment puis-je savoir dans quel répertoire
zlib
se trouve ? Euh, d'accord, aidez les gens jusqu'au bout...Entrez l'interpréteur
Python3.4
, mettez les sorties des répertoires2.7
ci-dessus un par unappend
dans la listesys.path
, puisimport zlib
essayez-le , non Jusqu'à ce que l'erreur soit signalée, la méthode est rudimentaire mais efficace.Bien que l'importation de l'intégralité du répertoire soit directe et pratique, elle peut entrer en conflit avec la bibliothèque 3.4, vous feriez donc mieux de savoir quels fichiers
zlib
sont, puiscopy
accéder au chemin système de3.4
, tel car_sqlite3
Cette chose ne nécessite que_sqlite3.so
ce fichier.zlib
Je ne sais pas, désolé...Essayez-le, en théorie, cela peut être fait,
--with-zlib
devrait signifier que vous l'avez ajouté lors de la compilation de Python 3.4. C'est évidemment parce que votre version Python 2.7 a compilé zlib mais pas la version 3.4.