为了测试编译其他包,我需要sphinx
在我的 Ubuntu 18.04.01 上使用精确的版本。
我尝试了以下操作:
sudo apt-get install sphinx=1.3.6
但它说没有'包 sphinx'。
那么该怎么做呢?
答案1
首先 - Sphinx 只有一个包,名为sphinx
- 它是它的源包。
根据 Ubuntu 18.04 LTS 的搜索结果,你只能得到1.6.7-1ubuntu1版本。
但是如果您只需要 Python 绑定 - 您可以尝试从pip
/安装它pip3
。
其他可能的解决方案是建造更老的1.3.6-2ubuntu1Sphinx(从 16.04 LTS 开始)来自源代码。
如果你想承担所有风险(因为你永远不会获得 Sphinx 的安全更新)然后继续在 Bionic 上手动安装 Sphinx 1.3.6:
cd ~/Downloads
wget http://mirrors.kernel.org/ubuntu/pool/main/s/sphinx/libjs-sphinxdoc_1.3.6-2ubuntu1_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/sphinx/python-sphinx_1.3.6-2ubuntu1_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/sphinx/python3-sphinx_1.3.6-2ubuntu1_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/sphinx/sphinx-common_1.3.6-2ubuntu1_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/sphinx/sphinx-doc_1.3.6-2ubuntu1_all.deb
sudo apt install ./*sphinx*.deb
并锁定已安装的 Sphinx 软件包:
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-sphinx
Package: libjs-sphinxdoc
Pin: version 1.3.6-2ubuntu1
Pin-Priority: 1337
Package: python3-sphinx
Pin: version 1.3.6-2ubuntu1
Pin-Priority: 1337
Package: python-sphinx
Pin: version 1.3.6-2ubuntu1
Pin-Priority: 1337
Package: sphinx-common
Pin: version 1.3.6-2ubuntu1
Pin-Priority: 1337
Package: sphinx-doc
Pin: version 1.3.6-2ubuntu1
Pin-Priority: 1337
EOF
为了使您的系统更安全,请考虑在编译依赖包后删除此 pin 文件,sudo rm /etc/apt/preferences.d/pin-sphinx
并使用升级到支持的 Sphinxsudo apt dist-upgrade
。