导入安装了不同版本的python包

导入安装了不同版本的python包,python,installation,package-managers,ubuntu-15.10,Python,Installation,Package Managers,Ubuntu 15.10,我有个问题。我正在尝试安装一个用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(

我有个问题。我正在尝试安装一个用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 manager、手动apt get、pip、pip3、pip3.4安装这些,但没有成功。正如我从包安装期间的随机消息中看到的,无论我做什么,它都会将它们安装到python 2.7中。如何将它们转换为3.4版本?请帮助我。

使用虚拟环境。要了解虚拟环境,请阅读。如果不想创建虚拟环境,可以直接尝试
python3-m pip安装dns
。注意:virtualenv是一个很好的工具,你应该试试看。谢谢回复。昨天我试图设置虚拟环境,但同样没有运气,我会再试一次。命令“python3-m pip install dns”即使我尝试“python3-m pip install dnspython”也没有帮助