在 64 位 Linux Mint 上安裝 32 位 python 失敗
我基本上有兩個問題:
- 如何在 linux 上安裝 32 位 Python 和 64 位 Python?
- 如何從以下失敗的嘗試中修復損壞的系統?
我只是嘗試在 Linux Mint 16 上與我的 64 位 python 一起安裝一個 32 位 python。它並不像我希望的那樣簡單(這
sudo apt-get install python32
會很好),但經過一番Google搜尋後,我下載了 Python 2.7.6 和做了以下事情:sudo apt-get install ia32-libs gcc-multilib checkinstall CC="gcc -m32" LDFLAGS="-L/lib32 -L/usr/lib32 -Lpwd/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32" ./configure --prefix=/opt/pym32 make sudo checkinstall
應該讓我能夠像這樣執行 32 位或 64 位(預設):
python -c 'import sys; print sys.maxint' /opt/pym32/bin/python -c 'import sys; print sys.maxint'
…但
/opt/pym32/
甚至沒有被創造出來。更糟糕的是,我的系統現在報告了 29 個損壞的依賴項,表明新的 python 替換了舊的或者類似的東西。為了解決這個問題,aptitude 建議我刪除一大堆我需要的包並安裝一大堆我不需要的包。如果出現問題,我使用 checkinstall 而不是
make install
能夠反轉/解除安裝,但是由於依賴關係損壞,解除安裝/重新安裝 python 將不起作用。有沒有辦法擺脫這種混亂?
64 位平台上的 32 位軟體包
首先,您需要允許您的包管理器安裝具有不同架構的包。但誰是誰?Apt 是
wget
和的簡單組合dpkg
。真正的包管理器是dpkg
,它提供底層基礎設施來處理真正的*.deb
包的操作。因此,讓我們看看我們特定案例的可用架構:
dpkg-architecture --list-known | grep -E "amd64|i386"
或者
dpkg-architecture --list-known | ack "amd64|i386"
如您所見,在我們的案例中,架構是
amd64
和i386
。現在您可以允許包管理器安裝i386
包:sudo dpkg --add-architecture i386
現在你可以安裝你的包了:
sudo aptitude update && sudo aptitude install python2.7:i386
通常,第一次
i386
安裝包會導致安裝很多依賴包。例如,在我的Debian x86_64 GNU/Linux 測試(拉伸)安裝skype
(取決於libc6:i386
)會導致安裝189 個軟體包:dpkg --get-selections | ack i386 -c
問題是與很多包
python2.7:i386
衝突並且依賴於. 因此,如果不刪除所有圖形環境,您將無法安裝。python2.7``python2.7``python2.7:i386
修復損壞的依賴項
這是一個簡單的:
sudo apt-get install -f && sudo dpkg --configure -a