アナコンダQtとシステムQt

アナコンダQtとシステムQt

これAnaconda Pythonフレームワークこれには独自のQt共有ライブラリが含まれます。フレームワークの性質のためにPATH環境変数に最初に現れる必要があるため、Pythonバイナリはシステムバイナリよりも優先されます。

これは、誰かがPythonに関連しないプロジェクトでシステムのQt共有ライブラリを使用しようとするとクラッシュします。 Qtプロジェクトをコンパイルすると、qmakeアナコンダのバイナリと共有ライブラリが使用されます。

qmake変数にパスを追加してバイナリを強制することはできますが、共有PATHライブラリでは機能しません。変更しようとしましたが、引き続きLD_LIBRARY_PATHアナコンダを選択します。

私が見つけた「解決策」は次のとおりです。

  1. LD_予圧:Qt 共有ライブラリを LD_PRELOAD 環境変数に 1 つずつ追加し、Qt 共有ライブラリを使用する .so がシステムライブラリを使用するように強制します。これは結局退屈で時間のかかる仕事になりました。
  2. Pythonでいたずら:推奨事項に従って、anacondaからQtに関連するすべてを削除します。ここ。 PythonでGUIアプリケーションを開発しようとすると、これはあまりにも面倒に見え、後でエラーが発生しやすくなります。
  3. Anaconda Qt > システム Qt:システムQtの代わりにanaconda Qtを使用してください。責任配分が間違っているようです。私のQtプロジェクトはPythonとは何の関係もなく、私のanacondaインストールと組み合わせてはいけません。彼らは互いに独立していなければなりません。
  4. 犯罪を犯す方法を変えてください。PATH私のすべてのシェルはanacondaパスを変数の前に追加しません。代わりに、提案されているように必要に応じてこれを前に追加する使いやすいスクリプトがあります。ここ。問題は、私が常にPythonバイナリを使用できるようにすることに慣れていることであり、それを知らず、システムのPythonバイナリを使用するときに間違いを犯しやすいことです。
  5. アナコンダ移動:anacondaフォルダを一時的に移動して、パスに見つからないようにします。これが最速ですが、システムQtライブラリを使用した後にすべてを修正するためには、私の記憶に非常に依存しています。

Qtはデフォルトでanacondaに含まれる唯一の「非Python」パッケージではないため、先験的な「実際の」ソリューションは他の競合ソリューションにも適用できます。

ベストアンサー1

Simpleはデフォルトでcondaを有効にしません。有効にしたい場合にのみcondaを有効にするように.bashrcを変更します。これにより、システムから完全に分離できます。少なくともLinuxとOSXで動作します。窓について何も知らない。

おすすめ記事