我刚刚开始(30 分钟前)使用 Ubuntu 12.04(我之前的所有经验都是在 Windows 上),几周前我才开始学习如何编程,所以这可能是一个真正适合初学者的问题。我也在 Unix 和 Linux Stack Exchange 上发布了这个问题,但我想也许这里的人也能提供帮助
我正在尝试安装 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'
根据一些谷歌搜索,我遇到问题的原因似乎是 zlib 尚未安装。尝试安装适用于 python 2.7 的 setuptools 时没有遇到此问题。我进入 python 3.2 并尝试导入 zlib,但尝试时收到错误消息。我还尝试执行“sudo apt-get install zlib and got the error message
E:无法找到包 zlib . I did not get error messages when I tried
sudo apt-get install zlib1gor sudo apt-get install zlib1g-dev
我真的不知道发生了什么。如何获取适用于 python 3.2 的 zlib(或以其他方式修复此问题?)
答案1
首先,我(强烈)建议您删除您安装的 python3 版本/usr/local/lib
并使用从 repo 中获取的版本。只有当您需要与可以使用的版本不同的版本或您确实需要以不同方式编译的版本时,使用 python(3) 版本/usr/local
才有意义。apt-get
您可以轻松获得python3.2来自 12.04 的 Ubuntu 存储库:
sudo apt-get install python3
同样的事情安装工具:
sudo apt-get install python3-setuptools
如需获取,pip3
请查看如何在 ubuntu 12.04 LTS 中为 python 3 安装 pip。