Python

‘NoneType’ 對像在安裝 Bootstrap setuptools 時沒有屬性’decompressobj’

  • April 14, 2019

我正在嘗試安裝 python 3.2,並在 python 3.2 中獲取 setuptools 和 pip。一切似乎都在 python 2.7 中正常工作。但是,當我嘗試使用此程式碼安裝 setuptools 時wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3.2,出現以下錯誤

Extracting in /tmp/tmpcwnav_
Traceback (most recent call last):
 File "<stdin>", line 332, in <module>
 File "<stdin>", line 329, in main
 File "<stdin>", line 51, in _install
 File "/usr/local/lib/python3.2/contextlib.py", line 28, in __enter__
   return next(self.gen)
 File "<stdin>", line 101, in archive_context
 File "/usr/local/lib/python3.2/zipfile.py", line 1004, in extractall
   self.extract(zipinfo, path, pwd)
 File "/usr/local/lib/python3.2/zipfile.py", line 992, in extract
   return self._extract_member(member, path, pwd)
 File "/usr/local/lib/python3.2/zipfile.py", line 1035, in _extract_member
   source = self.open(member, pwd=pwd)
 File "/usr/local/lib/python3.2/zipfile.py", line 978, in open
   close_fileobj=not self._filePassed)
 File "/usr/local/lib/python3.2/zipfile.py", line 487, in __init__
   self._decompressor = zlib.decompressobj(-15)
AttributeError: 'NoneType' object has no attribute 'decompressobj'

基於一些Google搜尋,看起來我遇到了問題,因為 zlib 尚未安裝。我在嘗試為 python 2.7 安裝 setuptools 時沒有這個問題。我進入 python 3.2 並嘗試導入 zlib 並在嘗試時收到錯誤消息。我也嘗試這樣做sudo apt-get install zlib並收到錯誤消息E: Unable to locate package zlib。我嘗試sudo apt-get install zlib1g或 sudo apt-get install zlib1g-dev` 時沒有收到錯誤消息,我真的不知道發生了什麼。如何為 python 3.2 獲取 zlib(或以其他方式解決此問題?)

您的問題似乎是您在不支持 zlib 的情況下編譯了 Python。確保在編譯 Python之前安裝了 zlib-devel ( sudo apt-get install zlib1g-dev) 。使用您編譯的 Python 補充或代替系統版本沒有任何問題。但是,您必須記住在呼叫 Python 時要明確,並通過指定完整路徑而不是 plain來呼叫您打算使用的那個。或者,您可以將 ( ) 添加到您的之前,以便在您鍵入系統時執行您編譯的 Python。/usr/local/bin/python``python``/usr/local/bin/``PATH /usr/bin/``python

引用自:https://unix.stackexchange.com/questions/164517