导入python包问题

导入python包问题

我遇到了一个问题。我正在尝试安装一个用 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 版本中?请帮帮我。

答案1

Python2和Python3是相互独立的,必须分别考虑。

安装Python 3 的 socksipy

sudo apt-get install python3-socksipy

相关内容