私はWXバックエンドを含むグラフィックプログラムの問題を解決しようとしました。 wxPythonは2.8.10
正常に動作しますが、新しいバージョンは動作しないようです。ソースからwxPythonを構築するのに役立ちましたが、
https://stackoverflow.com/questions/27988150/how-to-get-wxpython-2-8-on-ubuntu/28031967#28031967
https://stackoverflow.com/questions/10457647/how-do-i-install-wxpython-in-virtualenv
ビルドプロセスが失敗し、リストされているすべての方法を試しました。とにかく、私たちはシステムPythonのwxへのシンボリックリンクを作成するのがうまく動作することを知っていましたが、残念ながらそれは私たちapt-get install
に2.8.12
。apt-get install
Ubuntu MATE 14.04を使用していますが、この問題はOSXおよびUbuntu 12で発生することが確認されているため、オペレーティングシステム固有の問題ではない可能性があります。
答え1
ソースでコンパイルするのに問題があるようですが、Ubuntuリポジトリから直接パッケージをインストールしてみてはいかがでしょうか?
検索するとhttp://packages.ubuntu.com/wxPython
すべてのバージョンについてあなたは得るでしょうこの結果そして基盤としてパッケージpython-wxversionこのページのタイトルで、次のことを確認できます。
更新をクリア(python):wxWidgetsクロスプラットフォームC ++ GUIツールキット(wxPythonバージョンセレクタ)[ユニバース]2.8.10.1-0 Ubuntu1.2:すべて
このページで[次へ]をクリックします。みんなパッケージを手動でダウンロードしてインストールするボタンsudo dpkg --install python-wxversion_2.8.10.1-0ubuntu1.2_all.deb
警告する
リポジトリから直接.debファイルをインストールします。〜するecho python-wxversion hold | sudo dpkg --set-selections
このパッケージはUbuntu Software Updaterによって自動的に更新されるため、インストールが困難になった後もそのバージョンを維持することを忘れないでください。
答え2
以下は、wxPython 2.8.12を2.8.10に置き換える方法の図です。これはおそらくうまくいきますが、実際に試してみないと確信できません。
次の質問/回答が参考資料として役立ちます。 Debianが提供するよりも新しいバージョンのソフトウェアをどのようにインストールしますか?。ここでやりたいことはまさにバックポートではありませんが、似ています。
- 最新リリースのUbuntuにバージョン2.8.10があることを確認してください。その場合は、システムで再構築してみてください。そうでない場合は、難しい方法で行う必要があります。
wxPython 2.8.12のソースコードをダウンロードしてください。
apt-get source python-wxgtk2.8
wxwidgets2.8
これでソースコードがダウンロードされます。これはdeb-src
適切な行が存在すると仮定します/etc/apt.sources.list
。wxPythonのアップストリームバージョンを入手して解凍し、
2.8.10
Debian / UbuntuソースからDebianディレクトリをコピーします。wxwidgets2.8
Debian の命名方式と一致するように tarball の名前を変更し、Debian 変更ログを更新する必要があります。できれば大丈夫です。私が主に使用するビルドコマンドは次のとおりです。debuild -uc -us
debuild
パッケージで使用してくださいdevscripts
。一部のビルド依存関係をインストールする必要があります。dpkg-checkbuilddeps
まず、ビルドの依存関係を確認できます。別の方法は http://snapshot.debian.org/package/wxwidgets2.8/。これはDebianに適用されますが、Ubuntuシステムにも適用できます。これはDebianソースであり、直接再構築できます。
注:正常にインストールした場合は、2.8.10
aptと友達がwxPythonを再度アップグレードできないように何かをする必要があるかもしれませんが、2.8.12
簡単で効果的な方法はepochを使用することです。ただし、再構築の努力が成功すれば、この詳細も解決することができます。