Ubuntu 18.04安装自定义Odoo 11 Debian包时python3-psycopg2版本依赖不满足问题求助
Ubuntu 18.04安装自定义Odoo 11 Debian包时python3-psycopg2版本依赖不满足问题求助
嘿,我来帮你搞定这个依赖卡壳的问题!咱们先理清根源:你的自定义Odoo包要求python3-psycopg2必须是2.7.4版本,但Ubuntu 18.04官方源里的实际版本是2.7.4-1,加上你本地仓库还有更高版本的2.8.6,apt默认会优先选最新候选版本,这就导致依赖匹配失败了。下面给你几个可行的解决步骤:
1. 修正Debian包的依赖版本定义
首先得把debian/control里的依赖项改得更准确:
- 如果你想精确匹配官方源的版本,把原来的:
改成:python3-psycopg2 (= 2.7.4),python3-psycopg2 (= 2.7.4-1), - 要是想兼容2.7系列的小版本更新(避免后续小版本补丁导致依赖失效),可以改成范围限制:
这样只要版本在2.7.x区间内都能满足,既避开不兼容的2.8+版本,又适配官方源的版本号。python3-psycopg2 (>= 2.7.4, << 2.8.0),
2. 强制APT优先选择2.7.4-1版本
因为你本地仓库里有更高版本的2.8.6,APT默认会把它设为候选版本,所以得给2.7.4-1版本设置更高优先级:
- 创建一个APT优先级配置文件:
sudo nano /etc/apt/preferences.d/psycopg2-pin - 写入以下内容:
优先级1001会强制APT选择这个版本,高于默认的500优先级。Package: python3-psycopg2 Pin: version 2.7.4-1 Pin-Priority: 1001
3. 重新打包并安装Odoo包
修改完依赖后,重新构建你的Debian包:
dpkg-buildpackage -us -uc
然后更新APT缓存,再用gdebi安装:
sudo apt update sudo gdebi your-odoo11-package.deb
4. 临时应急方案(如果暂时不想重新打包)
要是你现在急需安装,先手动指定版本安装依赖:
sudo apt install python3-psycopg2=2.7.4-1
然后安装你的Odoo包:
sudo dpkg -i your-odoo11-package.deb
如果出现其他依赖缺失,再用sudo apt -f install自动修复,但这只是临时办法,最好还是修正包的依赖定义,避免后续安装出问题。
备注:内容来源于stack exchange,提问作者zakkaizzatur
相关产品推荐
相关产品推荐

