Mayavi: Python3のサポート

作成日 2013年10月04日  ·  72コメント  ·  ソース: enthought/mayavi

マヤビのためにPython3をサポートする計画はありますか?

PythonはまもなくPython3.4をリリースする予定です。 Python 3は現在非常に成熟しており、メインのサードパーティライブラリ(numpy、scipy、pandas、matplotlibなど)がサポートしていると思います。

また、すべてのプロジェクトをゆっくりとPython 3に移行しています。これは、「小さな」プロジェクト用の2to3アプリを使用した非常に簡単なタスクです。 古い標準ライブラリとの競合やUnicode /文字列ストリームの問題が発生することがありますが、悪いことは何もありません...

マヤビや他の関連プロジェクトを移動するのは少し複雑になると思いますが、中期的にはそれほど難しいことではないはずです。

他の人と話したくないのですが、多くの人がプロジェクトをPython3に移行するためにmayaviを待っていると思います。

「Python4がリリースされるまで待ってはいけません...」

:-)

乾杯

最も参考になるコメント

mayaviをインポートする前に、Pythonからenv変数を設定できるはずです。 http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python

ビンゴ! それがトリックでした。 Thx @jenshnielsen = :-)

ルートAnaconda環境でpyqt5開発を行いたい場合があるため、 QT_API環境変数のシステム全体のOS設定を行うよりも、このスクリプト内アプローチの方がはるかに好きです。

したがって、anaconda python 3.5でmayaviを実行するのに苦労している私のような貧弱なシュマックの要約として、これは前のコメントの役立つアドバイスから抽出された私の提案されたアプローチです:

  1. anacondaルートenvターミナルで次のコマンドを実行して、pyqt4にダウングレードされる新しいenv(oldqt)を作成します。
    conda create -n oldqt python=3 pyqt=4

  2. 新しく作成された環境に切り替えます。
    Windows OSの場合はactivate oldqt
    Mac / Linux OSの場合はsource activate oldqt

  3. menpoパッケージインストーラーを使用してmayaviをインストールします。
    conda install -c menpo mayavi

  4. oldqt envを使用してpythonmayaviスクリプトを実行し、これらのスクリプトの上部に以下のスニペットを含めて、mayaviの有効なQTAPIが指定されていることを確認します。

import os
os.environ["QT_API"] = "pyqt"

全てのコメント72件

@hadim Python 3でのhttp://www.vtk.org/Wiki/VTK/Python_Wrapping_FAQを参照して

:+1:

:+1:

:+1:

私は:thumbsup:がなくなったとは思いません。 むしろ、VTKでpython3をサポートするようにKitwareを説得するようにしてください。 それがなければ、Mayaviのpython3バージョンのチャンスはありません。

私は:thumbsup:がなくなったとは思いません。 あなたはむしろしようとするべきです
KitwareにVTKでpython3をサポートするように説得します。 それなしでは何もありません
マヤビのpython3バージョンのチャンス。

それを強調していただきありがとうございます!

たぶん、Python 3への移植に関するVTKの適切なバグレポートへのリンクを提供して、そこで+1と言っているユーザーをリダイレクトできますか?

記録のために、私はVTKバグトラッカーでチケットを開きました: http ://www.vtk.org/Bug/view.php?id = 15554

素晴らしいニュース! David Gobbi(VTK Pythonバインディングのメンテナー)はそのバグチケットに応答し、Py3サポート用のバインディングを準備するためのマージリクエストをすでに受け取っていると述べ、今週末から具体的にPy3サポートに取り組んでいます。
http://www.vtk.org/Bug/view.php?id=15554#c34787

これはプロセスの始まりに過ぎず、Python 3サポートがVTKのリリースに到達するまでにはしばらく時間がかかる可能性があることを完全に理解していますが、MayaviがPython3の準備のために積極的にできることはないでしょうか。 Python 3をサポートするためにMayaviコードベース自体に変更が必要になると思いますが、この作業がどうなるかについて議論を始める価値はありますか?

ありがとう@jabooth

私が知る限り、MayaviのPython 3への移行の全体像は、Python3をサポートする主な依存関係によって異なります。現在のステータスは次のとおりです。

  • [] python vtk
  • [x]特性
  • [x] traitsui
  • [x] pyface
  • []構想

Python 3 VTKバインディングが主要部分であり、作業が行われているという事実は朗報ですが、VTKの安定リリースで利用可能なバインディングがないと、Python3対応のMayaviで作業してテストすることは非常に困難です。

さらに、Mayavi自体は、python 3もサポートする必要がある特性、traitsui、およびpyfaceに大きく依存しています。これらのライブラリには進行中の作業がありますが、サポートはまだありません。

_それでも_、現時点でできること(そして@dmsurtiはすでに開始されています)は、保留中のバグを修正してテストカバレッジを改善し、Mayaviコードベースを簡素化して、Python3で依存関係が利用可能になったときにMayaviをPython3に移行する努力をすることです。以下。

将来のインポートから」に切り替えるなどのこともできます
print_function、division "、相対的なインポートを取り除き、切り替えます
6つ以上のすべて。

今何かをするのは時間の無駄だと思います。 Mayaviはあまり多くのことをしませんが、これは1日の作業では修正できません。より大きな問題は、Python 3をサポートするVTKです。それが利用可能になり次第、必要な変更を加えます。 VTKがないと、テストできません。 David Gobbiの最近の作品を知っていますが、正式にサポートされてVTKに統合されるまで待ちます。

python-py3kブランチがマージされたようです: https ://gitlab.kitware.com/vtk/vtk/merge_requests/478

tvtkのステータスを知っている人はいますか? 今年ようやくpy3kに移行できたら、それは素晴らしいことです。

$ python
Python 3.4.3 (default, Mar 25 2015, 17:13:50) 
[GCC 4.9.2 20150304 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
>>>

Yeehaa!

これについて何か進展はありますか? Python3のサポートは次のマイナーリリースvtk6.3.1にあるようです。

#250を参照

プルリクエスト#250がマージされます。 閉鎖。

いくつかの簡単な肯定的なフィードバック
WinPython-64bit-3.4.4.1をMayavi4.4.4で使用していますが、正常に動作します。 すべての開発者に感謝します!

1.)VTK-7.0.0-cp34-cp34m-win_amd64.whl(http://www.lfd.uci.edu/~gohlke/pythonlibs/#vtk)
2.)pip install mayavi

@IVIUPPET
ここに記載されている回避策はありますか
https://github.com/enthought/mayavi/pull/250#issuecomment -207719214
問題を解決します?

@solarjoe

試したことはありませんが、Pythonのバックグラウンドは非常に限られていますが、MatlabとC#の経験があるため、他の人がフォローできるように作業結果を投稿するためにここに戻ってきました。

Python 3.5でリンク(Python 3.4の場合)を使用しようとしたため、コメントしたサポートされていないプラットフォームエラーが発生し、すぐに削除されました
しかし、私はあなたの返事に感謝します。 フォローする私の設定でコメントします。

Anaconda for Python3.5を使用してインストール/実行しています。 バージョン3.19.1。 私はpip8.1.1を使用しました。 (これらのどちらもそれほど重要ではありません)。 可能な限り64ビット。

次にダウンロードしました:
1)VTK-7.0.0-cp35-cp35m-win_amd64.whl
差出人: http
Python 3.5 64ビットバージョンのVTK、Mayaviの重要な依存関係(solarjoeに感謝します!)

downloadDirへのCD:
pip install VTK-7.0.0-cp35-cp35m-win_amd64.whl

vcvarsall.batの欠如を解決するために少し時間がかかりました。これは、このスレッドを見つけてPython3.5でVTKを動作させるときに遭遇した次の問題でした。 さまざまな環境変数に何かを追加して、古いバージョンのVisualStudioをインストールしてみました。 動作しませんでした。 Python3.5用のC ++コンパイラを含むVisualStudio Community2015を入手することになりました。 私は知っています、それはやり過ぎです、しかし私は他のことをするのに何時間も費やしました、それで私にとってこれは最も抵抗の少ない道でした(私はEEです)。 インストール中は、必ず「カスタム」を実行してから、「プログラミング言語」で、PythonまたはC ++に関係するすべてのことを確認してください。

2)pip install mayavi

出来た。 グーグルで一日を過ごした後、私はついにMatlabに匹敵するかそれを超えるように見える3Dグラフを作成しました! MatlabからPythonへの移行が完了しました:D

上記の@IVIUPPETのコメントを読んでいた、「vcvarsall.batが見つからない」という苦痛に対処する方法というMicrosoftからのごく最近(4月11日)のブログ投稿を思い出しました。 よくわかりませんが、投稿が役立つのではないかと思いました。

IVIUPPETの役立つ指示に従ってAnacondapython 3.5にMayaviをインストールした後、実際に実行する際に障害にぶつかりました。

mayaviをインポートすると、次のランタイムエラーが発生します。
RuntimeError: Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'

mayaviはpyqt5(anacondaのデフォルト)では実行されませんか? その場合、pyqt4をインストールする必要がありますか?pyqt4をQt APIとして指定するにはどうすればよいですか?

@dreme残念ながら、私はまだGUIを実装していないか、プログラムにQT APIが必要ですが、ドキュメントをざっと読んだところ、QT5に移行するためにやるべきことがまだあるようです。 マヤビとの互換性がなくても驚かないでしょうが、あなたのエラーは私にはそれを示唆していないようです。 問題を特定したり、QTに関連するヘルプに連絡したりするために、mayaviを使用せずに試してください。ラボを離れた後、コードをラボに残すときに、最終的にGUIを使用したいと思います。 mayaviとの非互換性、さらに良い解決策を見つけた場合は、お知らせください。

IVIUPPETの回答ありがとうございます。

最初にQt4をインストールしてみようと思います。 うまくいけば、それはアナコンダのQt5との厄介なソフトウェアの衝突を導入しません

また、VTKをコンパイルするときに、コンパイル時にQt4ウィジェットとQt5ウィジェットのどちらが必要かを選択できると思います。

さて、http://www.vtk.org/Wiki/VTK/Building/Windowsの手順を使用して、ソース(http://www.vtk.org/download/)からVTKをコンパイルしてみました

ただし、Qt5ウィジェットを指定するオプションが表示されず、コンパイルプロセス(Microsoft Visual Studio Community 2015を使用)がとにかく失敗しました。

115>  Generating Code...
115>LINK : fatal error LNK1104: cannot open file '..\..\lib\Debug\vtkViewsCore-7.1.lib'
117>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------
117>  Building Custom Rule C:/MyProjects/VTK-src/CMakeLists.txt
117>  CMake does not need to re-run because C:\MyProjects\CMakeFiles\generate.stamp is up-to-date.
========== Build: 18 succeeded, 99 failed, 0 up-to-date, 0 skipped ==========

VTK_Group_Qtをオンにしてから、VTK_QT_VERSIONを5に設定します(デフォルトは4です)。 私はかなり前から、VTK / ParaViewでQt5を使用するTomvizの開発とパッケージ化を行ってきました。 それはかなりうまく機能します、私たちが修正する必要があるいくつかのバグがあります。 また、Windows上でVisual Studio 2015を使用して構築しており、数か月が経過しています。

ありがとう@cryos!

私はC ++プログラマーではなく、プログラムのコンパイルの経験がほとんどないので、よろしければフォローアップの質問があります。

「VTK_Group_QtをオンにしてからVTK_QT_VERSIONを5に設定する」と言うとき、正確にはどういう意味ですか? VTK_Group_QtVTK_QT_VERSIONの用語は、かなりの数のCMakeLists.txtファイル、およびvtkiOS.cmake、vtkAndroid.cmake、VTKConfig.cmake.in、vtkQt.cmakeファイルに表示されていることがわかります。

最も簡単な方法は、cmake-guiを使用して、ビルドディレクトリをポイントすることです。 VTK_Group_Qtをクリックしてチェックボックスをオンにし、[構成]をクリックすると、VTK_QT_VERSIONが新しい変数として表示されます。 または、次のようなCMakeコマンドラインを使用することもできます

cmake -DVTK_Group_Qt:BOOL=ON -DVTK_QT_VERSION:STRING=5 C:/path/to/vtk/src

これらはすべてビルドディレクトリのCMakeCache.txtに保存されますが、cmake-gui、cmakeコマンドラインなどを使用して操作できます。 同じ方法でPythonラッピングをオンにする必要もあります。 それがより明確になることを願っています。

@dreme Qt5を使用するためにVTKをコンパイルしてもよろしいですか? Mayavi / ETSはQt4(またはWX)のみをサポートします//github.com/enthought/mayavi/issues/450 。 何か足りない場合はごめんなさい...

しばらくお待ちください@cryos。 cmakeがインストールされているときにcmake -guiプログラムも提供されていることに気づきませんでした。

OK、cmake-guiを起動し、ソース(C:/ MyProjects / VTK-src)フォルダーとビルド(C:/ MyProjects / VTK-bin)フォルダーを指定しました。

ただし、 Configureボタンをクリックすると、大量のエラーメッセージが表示されます(添付を参照)。

また、リストされている変数の中にVTK_Group_Qt用語が表示されません(添付の写真を参照)。

cmakegui

Add Entryボタンで追加する必要がありますか?

CまたはC ++コンパイラが見つからないようです。 Visual Studio 2015を使用しているとおっしゃっていましたが、スクリーンショットのジェネレーターはVisual Studio 2017(これは本当に新しいので、今は避けたいと思います)と言っています。 おそらくビルドツリーを削除してやり直す必要がありますが、Visual Studio2015を選択してください。

@jonathanrocherこんにちは、私の究極の目的は、@IVIUPPETを行うことができるように見えた限り、アナコンダのpython 3.5の下でmayaviを実行することです。

彼の指示に従って、mayavi OKをインストールできましたが、インポートしようとすると、次のランタイムエラーが発生します。
RuntimeError: Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'

したがって、おそらく解決策は、Anacondaに付属のデフォルトのQtバージョンであるQt5を自動的に使用するようにVTKをコンパイルすることだと思いました。

しかし、前のコメントからわかるように、私はこのタスクに悩まされています...

mayaviに代わりにWXを使用させる方法はおそらくありますか?

@ dreme -pysphパッケージのcondaを使用して次の手順をテストしました(ここを参照):

$ conda install -c conda-forge matplotlib jupyter pyside
$ conda install -c menpo mayavi

問題がある場合はお知らせください。

こんにちは@prabhuramachandran 、そのアドバイスに感謝しますが、それは私にとってはうまくいかなかったようです。

入力したとき: conda install -c conda-forge matplotlib jupyter pyside

次のエラーメッセージが表示されました。

Fetching package metadata ...........
Solving package specifications: ....

UnsatisfiableError: The following specifications were found to be in conflict:
  - matplotlib
  - python 3.5*
Use "conda info <package>" to see the dependencies for each package.

python 3.5が好きではないようですので、python 3.4用の新しいenvを作成しました。この環境では、両方のcondainstallコマンドが実際に機能しました。

$ conda install -c conda-forge matplotlib jupyter pyside
$ conda install -c menpo mayavi

ただし、jupyter notebokにmayaviをインポートしようとすると、同じ古いランタイムエラーが発生します。
RuntimeError: Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'

@dremeさんmenpoチャネルでmayaviビルドを作成しました。

これと同じ問題が発生しました。 私たちの解決策は、インストール後にpyqtで強制的にダウングレードすること

> conda install -c menpo mayavi
> conda install pyqt=4.11.4

最終的なダウングレードは、少なくとも標準のanacondaチャネルと私たち自身のチャネルから引き出されたもので、他のすべてのものとうまく機能していることがわかりました。

実際、 @ scienceopenは、ここで新しいenvを作成することに満足している場合、よりエレガントなソリューションを提供しますhttps://github.com/enthought/mayavi/issues/448#issuecomment -258065329(get-からQT4envをリクエストできることがわかりました。行く)

はい、QT4環境を使用するのが道です。 次に、HiDPIのMayavi以外の作業にQT5を使用できます。

Python3のサポートに感謝します。 QT5のサポートに3年もかからないことを願っています

また、前述したように(https://github.com/enthought/mayavi/issues/84#issuecomment-205720564)、Windowsを使用していて、Anacondaにバインドされていない場合、MayaviをWinPythonで動作させるのは非常に簡単です。

みなさん、この問題について引き続きご協力いただきありがとうございます。 心から感謝する。

@jaboothが提供する両方のソリューション(

C:\Users\dreme\Anaconda3\envs\py34\lib\site-packages\traitsui\qt4\__init__.py in <module>()
     16 # import pyface.qt before anything else is done so the sipapi
     17 # can be set correctly if needed
---> 18 import pyface.qt
     19 
     20 #----------------------------------------------------------------------------

C:\Users\dreme\Anaconda3\envs\py34\lib\site-packages\pyface\qt\__init__.py in <module>()
     42 elif qt_api != 'pyside':
     43     raise RuntimeError("Invalid Qt API %r, valid values are: 'pyqt' or 'pyside'"
---> 44                        % qt_api)

RuntimeError: Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'

[これが重要かどうかはわかりませんが、Jupyterノートブックでコードを実行しています]

私はAnacondapythonディストリビューションが本当に好きですが、 @ solarjoeが提案したように、WinPythonに切り替える準備ができています(必ずしも悪いとは思いません)。

その場合、 @ solarjoe 、どのインストーラーを使用しましたか? WinPython 3.5.2.3Qt5またはWinPython 3.5.2.3

@dreme私はあなたがした後に仮定しています

conda create -n oldqt python=3 pyqt=4

その環境を(Windowsの場合)でアクティブ化したこと

activate oldqt

またはMac / Linuxの場合

source activate oldqt

QT_API環境変数を何かに設定しましたか? 使用されるロジックについては、 https://github.com/enthought/pyface/blob/master/pyface/qt/__init__.pyを参照して

@dreme私はあなたがした後に仮定しています

conda create -n oldqt python = 3 pyqt = 4
その環境を(Windowsの場合)でアクティブ化したこと

oldqtをアクティブ化する

うん、それは私がです

QT_API環境変数を何かに設定しましたか? 使用されるロジックについては、 https://github.com/enthought/pyface/blob/master/pyface/qt/__init__.pyを参照して

いいえ、これはすべてanaconda3.5のかなり新しいインストールで実行されています

しかし、 QT_API変数と関係があることについては正しいと思います。 Jupyterノートブックにはこれに対するデフォルト設定がありますか? これをマヤビにとって大丈夫なものに設定できますか?

いつでもenv変数を変更してみることができます。 Jupyterがそれを変更するのではないかと思いますが、おそらく他の何かです。 次の方法で現在の値を調べることができます。

echo %QT_API%

で変更します

set QT_API= pyqt

Windowsの場合http://superuser.com/questions/79612/setting-and-getting-windows-environment-variables-from-the-command-prompt

@dreme 、古いバージョンのWinPython-64bit-3.4.4.1とQt4およびMayavi4.4.4を使用しています

1.)VTK-7.0.0-cp34-cp34m-win_amd64.whl(http://www.lfd.uci.edu/~gohlke/pythonlibs/#vtk)
2.)pip install mayavi

http://www.lfd.uci.edu/~gohlke/pythonlibs/からmayaviをインストールして、Mayaviのページを検索することもできます。 正しいバージョンを選択するだけです。
それらがWinPythonのQt5バージョンで動作するかどうかはわかりません。 たぶん、 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4をインストールする必要があり

いつでもenv変数を変更してみることができます。 Jupyterがそれを変更するのではないかと思いますが、おそらく他の何かです。 次の方法で現在の値を調べることができます。

エコー%QT_API%
で変更します

QT_API = pyqtを設定します

まあ、これは私を狂わせているだけです。 @jenshnielsenのアドバイスに従ってQT_APIのWindows環境変数をpyqtに設定し、 SETコマンドを実行して設定されていることを再確認しました。

しかし、FMD、私はまだQtのAPIがpyqt5であることを訴えて同じ古いランタイムエラーを取得します。 cmdターミナルで再度チェックしたところ、QT_API環境変数がpyqtであることが十分に確認されました。

次に、Anaconda Navigatorをシャットダウンして再度確認すると、QT_API変数が完全に消えていました。

しかし、Anacondaナビゲーターを再起動し、「oldqt」カーネルでJupyterノートブックを開くと、pyqt5について不平を言う同じ古いランタイムエラーが発生します。

ude setを実行すると、現在のcmdシェルでのみ有効になります。 シェル外または他のシェル内のプログラムには影響しません。 あなたは窓から恒久的にenv変数を設定する方法をグーグルで検索することができます。 テストするには、QT_APIを設定することをお勧めします。 同じシェルでPythonを開き、簡単なmlabの例を実行します。つまりここからhttp://docs.enthought.com/mayavi/mayavi/mlab.html#a -demo

mayaviをインポートする前に、Pythonからenv変数を設定できるはずです。 http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python

@dreme :同様の問題を抱えているユーザーに、解決策が役立つかどうかを確認してもらいました: https

READMEの結果の説明は、従うのが簡単な場合があります。
https://github.com/menpo/menpo3d#visualizing -3d-objects

重要な部分:

Windowsを実行していてこのエラーが発生した場合は、次のことを試してください。

`` `
QT_API = pyqtを設定します
ETS_TOOLKIT = qt4を設定します
「」

@jenshnielsen (少なくともMenpoの)ユーザーが心配する必要がないようにこれを自動化しようとしましたが、動作させることができませんでした: https

ここで状況を改善することを試みるために、別の問題を提起するつもりです。

mayaviをインポートする前に、Pythonからenv変数を設定できるはずです。 http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python

ビンゴ! それがトリックでした。 Thx @jenshnielsen = :-)

ルートAnaconda環境でpyqt5開発を行いたい場合があるため、 QT_API環境変数のシステム全体のOS設定を行うよりも、このスクリプト内アプローチの方がはるかに好きです。

したがって、anaconda python 3.5でmayaviを実行するのに苦労している私のような貧弱なシュマックの要約として、これは前のコメントの役立つアドバイスから抽出された私の提案されたアプローチです:

  1. anacondaルートenvターミナルで次のコマンドを実行して、pyqt4にダウングレードされる新しいenv(oldqt)を作成します。
    conda create -n oldqt python=3 pyqt=4

  2. 新しく作成された環境に切り替えます。
    Windows OSの場合はactivate oldqt
    Mac / Linux OSの場合はsource activate oldqt

  3. menpoパッケージインストーラーを使用してmayaviをインストールします。
    conda install -c menpo mayavi

  4. oldqt envを使用してpythonmayaviスクリプトを実行し、これらのスクリプトの上部に以下のスニペットを含めて、mayaviの有効なQTAPIが指定されていることを確認します。

import os
os.environ["QT_API"] = "pyqt"

VTK-7.0.0-cp34-cp34m-win_amd64.whlはhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#vtkここからVTK-7.0.0-cp34-を入手できます。 cp34m-win_amd64.whl。

それは一週間前に利用可能でした、私はそれをダウンロードしました。 それはまだ私のオフィスのコンピューター上にあります私はあなたにリンクを送ることができます
月曜日(一致するMayaviバージョンも)。

新しいマヤビとVTKを使ってみませんか?

VTK-7.0.0-cp34-cp34m-win_amd64.whlのリンクを送信してください。 ありがとうございました。

以下のリンクは約30日有効です。

VTK-7.0.0-cp34-cp34m-win_amd64.whl

http://ge.tt/8QvtGkl2

だから...おおよそこれはどこにありますか? 私は最初からこれに目を光らせていました、そしてそれはちょうど起こらないように思われるそれらのプロジェクトのもう一つです。

@nevionどういう意味ですか? これはクローズドな問題であり、私はLinuxだけでなくWindows上のPython3.6にも取り組んでいます。

@mablこれが事実であったことは、問題の軌跡からはあまり明確ではありません。また、qt support lagginのようなものを使用した科学ソフトウェアでは、状況が不明確な状態のままになることがよくあります。 これと2.7のみをサポートするanacondaディストリビューションの間では、これはまだ当てはまると思いました。 アナコンダがまだ2.7しかサポートしていない理由はありますか?

conda install mayavi
Fetching package metadata .........
Solving package specifications: .

UnsatisfiableError: The following specifications were found to be in conflict:
  - mayavi -> apptools 4.2.0 -> python 2.7* -> openssl 1.0.1*
  - python 3.6*
Use "conda info <package>" to see the dependencies for each package.

Anaconda3をインストールし、mayaviをインストールしようとしました。 NS:

(C:\ ProgramData \ Anaconda3)C:\ Users \ nort.ARP> conda install mayavi
パッケージメタデータの取得..........。
パッケージ仕様の解決:。

UnsatisfiableError:次の仕様が矛盾していることが判明しました:

  • mayavi-> apptools 4.2.0-> python 2.7 *
  • Python 3.6 *
    「condainfo」を使用する"各パッケージの依存関係を確認します。

@dremeの上記の4ポイントの手順を確認/試してみましたか?

特に@dremeから

  1. anacondaルートenvターミナルで次のコマンドを実行して、pyqt4にダウングレードされる新しいenv(oldqt)を作成します。

        conda create -n oldqt python=3.5 pyqt=4
    
  2. 新しく作成された環境に切り替えます。

        activate oldqt #for Windows OS
        source activate #oldqt for Mac/linux OS
    
  3. menpoパッケージインストーラーを使用してmayaviをインストールします。

        conda install -c menpo mayavi
    
  4. oldqtenvを使用してpythonmayaviスクリプトを実行し、これらのスクリプトの上部に以下のスニペットを含めて、mayaviの有効なQTAPIが指定されていることを確認します。

        import os
        os.environ["QT_API"] = "pyqt"
    

@jonathanrocherいいえ、十分に公平です。 私はおそらく、これが解決されてうまくいったという主張を誤解していたのでしょう。 はい、レシピに従ってインストールしました。

@dreme 4ポイント命令を試したところ、
conda create -n oldqt python=3.5 pyqt=4そしてそれはうまくいきました。

はい、その通りです。QT4のため、Mayavi4.5にはPython3.5が必要です。

したがって、たとえばconda install python=3.6.1 vtk>=7 -c clinicalgraphicsを使用し、 pyfacetraitsからの最近のコミット番号を使用して、Qt5およびPython 3.6 + VTK7.1でmayavi動作させることができます。およびtraitsui 。 CIによると、これはOSX、Windows、およびLinuxで機能するようです。

ただし、HiDPIをサポートするOSXマシンでは、画面領域の1/4のみが使用されます。

screen shot 2017-10-17 at 17 07 08

これはマヤビレベルで修正できるものですか?

VTK7.1の一部であることが意図されていたようです。

https://public.kitware.com/pipermail/vtk-developers/2016-November/034456.html

しかし、深く見る前に、他の人がアイデアを持っている場合に備えて尋ねると思いました。

1つのオプション(悲しいですがウィンドウがいっぱいになります)は、VTK8が出力されるのを待ってから、QVTKOpenGLWidgetを使用することです。これを使用してHiDPIをオフにすることができます。

https://www.vtk.org/doc/nightly/html/classQVTKOpenGLWidget.html#details

または、このウィジェットを使用すると、HiDPIが「正常に機能」する可能性があります。

ここにリストされて

こんにちは@ larsoner 、vtk 8.1が利用可能になった今、いくつかのニュースはありますか?

vtk 8.1.0 conda install -c conda-forge vtkインストールすると、pythonは3.6.2にダウングレードされます(そしてmatplotlibは2.1.0にダウングレードされます)。
pyface 5.1.0、traits 4.6.0、traitsui 5.1.0、 conda install -c conda-forge pyface traits traitsuiをインストールしました
私はqt5.6.2を持っています。

conda-forge conda install -c conda-forge mayaviからmayavi 4.5.0をインストールすると、依存関係pyqt 4.*python 3.6*vtk 7.1.*について文句を言います。

現在のパッケージで動作させるための提案はありますか、あるいは、Python3.6、Qt5、VTK7.1でどのように動作させるのですか? (それでもPython3.5 + Qt4を用@dremeによって溶液があります)ありがとうございます。

この環境ファイルをCI用にLinux、OSX、およびWindowsで約6か月間使用しており、成功を収めています(HiDPI以外)。

https://github.com/mne-tools/mne-python/blob/master/environment.yml

それはあなたが必要としないものの束を持っています。 Mayaviの重要なコンポーネントは、 3.6バージョンがあるためclinicalgraphicsからVTK7を取得し、 pyfacetraits 、およびtraitsuiいくつかのコミットに固定することtraitsui

VTK8がconda-forgeで利用できる場合は、おそらく安全に交換できますが、まだ試していません。 ある時点でそれを試してみて、HiDPIのものが修正されるかどうかを確認します。 あなたが私をそれに打ち負かしたなら、それがどうなるか教えてください!

@ larsoner@ mpanighel-これはVTK8.xでは正常に機能します。 数日でVTKをインストールする簡単な方法をお楽しみに。

参考までに、PyPIでVTK 8.1.0のホイールをプッシュしました。こちらをご覧ください: http

素晴らしい@prabhuramachandran

それは素晴らしい@prabhuramachandranです! ありがとう!

最近、私はあなたの最新の修正に従い、Linuxのpython3.6 / pyqt5でセットアップを再現してmayaviをテストしようとしましたが、運がなかったので(確かに私の非常に基本的なPythonの知識のために)、おそらくいくつかの明らかなパッケージがありません。 https://github.com/enthought/mayavi/issues/595にもっと情報を投稿して整理しようと思いました。

このページは役に立ちましたか?
0 / 5 - 0 評価