zlib1g-dev уже установлен, но показывает ModuleNotFoundError: нет модуля с именем ‘zlib’

#python-3.x #pip #zlib #python-3.8 #debian-buster

#python-3.x #pip #zlib #python-3.8 #debian-buster

Вопрос:

В моей ОС Debian 10 у меня есть несколько версий Python 2.7, 3.7 и 3.8. Для Python 3.8 pip не работал (нет имени модуля pip), и я попытался установить pip для Python 3.8 с помощью ‘sudo python3.8 get-pip.py «и это показало ошибку ниже.

 Traceback (most recent call last):
  File "<frozen zipimport>", line 520, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen zipimport>", line 568, in _get_data
  File "<frozen zipimport>", line 523, in _get_decompress_func
zipimport.ZipImportError: can't decompress data; zlib not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "get-pip.py", line 23704, in <module>
    main()
  File "get-pip.py", line 198, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "<frozen zipimport>", line 241, in load_module
  File "<frozen zipimport>", line 709, in _get_module_code
  File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
  

Затем я попытался установить zlib с помощью «sudo apt install zlib1g-dev», но он показал, что пакет уже находится в системе.

 Reading package lists... Done
Building dependency tree       
Reading state information... Done
zlib1g-dev is already the newest version (1:1.2.11.dfsg-1).
The following packages were automatically installed and are no longer required:
  adb android-libadb android-libbase android-libboringssl
  android-libcrypto-utils android-libcutils android-liblog
  android-sdk-platform-tools-common arch-test bridge-utils cloud-image-utils
  debootstrap distro-info genisoimage libayatana-appindicator3-1
  libayatana-ido3-0.4-0 libayatana-indicator3-7 libboost-log1.67.0
  libboost-program-options1.67.0 libboost-regex1.67.0
  libboost-serialization1.67.0 liblxc1 libmotif-common libnma0 libpam-cgfs
  libprotobuf-lite17 libsdl2-image-2.0-0 libu2f-udev libxm4 lxc lxc-templates
  lxcfs network-manager-gnome qemu-utils squashfs-tools uidmap
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 127 not upgraded.
  

Комментарии:

1. zlib1g-dev это пакет заголовков для компиляции программы на C или C для ссылки на библиотеку zlib. AFAIK это никак не влияет на поведение вашего интерпретатора python, который, возможно, был создан без включенного модуля zlib python.

2. Установка заголовков после того, как вы уже скомпилировали Python без поддержки zlib, не принесет никакой пользы. Заголовки должны быть доступны компилятору C. Если вы создали Python самостоятельно, удалите его и перестройте / переустановите. Если вы установили встроенный Python откуда-то еще, спросите сопровождающего пакета, почему Python был создан без поддержки zlib.

Ответ №1:

Можете ли вы попробовать это сделать: sudo apt-get install zlib1g-dev