我遇到了一个问题。我正在尝试安装一个用 Python 编写的脚本。它需要 3.4 以上版本,而我的 ubuntu 15.10 上默认安装了 python2.7 python3.4 python3.5。在安装过程中,它抛出了一个错误,我发现这是由于 Python 中缺少软件包造成的。
错误是
File "/usr/lib/python3.4/distutils/dist.py", line 1209, in set_requires distutils.versionpredicate.VersionPredicate(v)
File "/usr/lib/python3.4/distutils/versionpredicate.py", line 114, in __init__ raise ValueError("expected parenthesized list: %r" % paren)
ValueError: expected parenthesized list: '-branch'
我查看了源代码,找到了所需软件包的列表,并编写了一个小脚本来提供缺少的软件包。
import pip
installed_packages = pip.get_installed_distributions()
flat_installed_packages = [package.project_name for package in installed_packages]
packages = [
"aiohttp",
"httplib2",
"socksipy-branch",
"requests",
"dns",
"url"
]
for needle in packages:
if needle in flat_installed_packages:
print('Found ', needle)
else:
print('Not found ', needle)`
输出为
Found aiohttp
Found httplib2
Not found socksipy-branch
Found requests
Not found dns
Found url
我尝试使用 synaptic 管理器、手动 apt-get、pip、pip3、pip3.4 安装这些,但都没有成功。从软件包安装过程中的随机消息中我可以看到,无论我做什么,它都会将它们安装到 python 2.7 中。我如何将它们安装到 3.4 版本中?请帮帮我。