如何在使用dpkg安装包时指定版本

-1 投票
1 回答
1417 浏览
提问于 2025-04-18 20:23

我想在服务器上为Python安装psycopg,但遇到了一些版本问题。有没有办法在安装时指定使用哪个版本呢?

这是我现在的情况

dpkg -l |grep python
ii  python                             2.7.3-4+deb7u1                all          interactive high-level object-oriented language (default version)
ii  python-central                     0.6.17                        all          register and build utility for Python packages
iU  python-psycopg2                    2.4.5-1                       amd64        Python module for PostgreSQL
ii  python2.6                          2.6.8-1.1                     amd64        Interactive high-level object-oriented language (version 2.6)
ii  python2.7                          2.7.3-6                       amd64        Interactive high-level object-oriented language (version 2.7)

我想用python2.6.8-1.1来安装psycopg,但当我尝试安装时,出现了这样的情况

dpkg: dependency problems prevent configuration of python-psycopg2:
 python-psycopg2 depends on python-egenix-mxdatetime; however:
  Package python-egenix-mxdatetime is not installed.
 python-psycopg2 depends on python (<< 2.7); however:
  Version of python on system is 2.7.3-4+deb7u1.

dpkg: error processing python-psycopg2 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-psycopg2

我该如何设置并指定使用Python版本2.6.8-1.1呢?

1 个回答

0

当你安装系统包的时候,你得到的是系统自带的版本。如果这些版本之间不兼容,那就是一个问题,你应该把这个问题反馈给维护者。

如果你想要其他版本的Python解释器,可能会有一个专门的仓库可以找到,否则你就得自己下载源代码并编译。

如果你想控制Python包的版本(不是解释器的版本),你应该设置一个虚拟环境,然后用pip在里面安装包。现在,当你想运行带有这些依赖的脚本时,就激活这个虚拟环境。

virtualenv -p /usr/bin/python2.6 my_env
source my_env/bin/activate
pip install psycopg2

撰写回答