Mayavi: Menyimpan file PDF di OS X 10.11 menghasilkan file zip yang rusak

Dibuat pada 21 Jun 2016  ·  7Komentar  ·  Sumber: enthought/mayavi

Dengan Mayavi diinstal melalui Conda, jalankan skrip berikut di Notebook Jupyter:

%gui qt
dari mayavi import mlab
mlab.test_flow()

kemudian mengklik GUI untuk menyimpan adegan, jika saya mengatur output file sebagai "snapshot.pdf", saya mendapatkan pesan kesalahan di terminal yang membuka notebook:

21-06-2016 12:03:43.383 python[44385:6652218] modalSession telah keluar sebelum waktunya - periksa panggilan masuk kembali ke endModalSession:

dan tidak ada file PDF yang dibuat - file bernama snapshot.pdf.gz tertinggal.

Lingkungan tempat saya bekerja di sini:
env.txt

bug

Semua 7 komentar

Ada sejumlah modul yang terlibat dalam prosedur ini dan tidak jelas dari output kesalahan apa alasan kegagalannya.

Bisakah Anda mereproduksi masalah tanpa menggunakan notebook dari prompt ipython normal?
Bisakah Anda mereproduksi kesalahan menggunakan WX?

Anda juga harus menjalankan tes (mungkin membantu mempersempit masalah)

# probably need to run these from site-packages
python -um nose.core -v tvtk
python -um nose.core -v mayavi

Halo lagi,

Saat menjalankan tes tvtk, saya memiliki kesalahan berikut:

KESALAHAN: Uji apakah semua atribut dengan MinValue/MaxValue adalah ciri

Traceback (panggilan terakhir terakhir):
File "/Users/ryan/anaconda3/envs/mayavi/lib/python2.7/site-packages/tvtk/tests/test_tvtk.py", baris 917, di test_trait_with_range
vtk_attr_name)
File "/Users/ryan/anaconda3/envs/mayavi/lib/python2.7/site-packages/tvtk/tests/test_tvtk.py", baris 899, di get_min_max_value
kembali (getattr(vtk_klass(), get_min_method)(),
SystemError: pengembalian kesalahan tanpa set pengecualian


Jalankan 106 tes dalam 30,976 detik

GAGAL (LEWATKAN=3, kesalahan=1)

Dan saya tidak mendapatkan kesalahan pada tes MayaVi.

Mencobanya dari konsol jupyter saya mendapatkan kesalahan yang sedikit berbeda:

21-06-2016 14:12:20.658 python[45411:6739252] modalSession telah keluar sebelum waktunya - periksa panggilan masuk kembali ke endModalSession:
Info GL2PS: buffer overflow umpan balik OpenGL

PERINGATAN: Kernel tidak merespons is_complete_request. Mengatur use_kernel_is_complete ke Salah.

Saya tidak dapat menjalankan menggunakan Wx karena saya mendapatkan kesalahan berikut ketika saya mencoba mengaturnya sebagai GUI:

Pengecualian telah terjadi, gunakan %tb untuk melihat penelusuran balik lengkap.

SystemExit: Program ini membutuhkan akses ke layar.
Silakan jalankan dengan kerangka kerja python, dan hanya jika Anda
masuk pada tampilan utama Mac Anda.

Untuk keluar: gunakan 'keluar', 'keluar', atau Ctrl-D.

Terimakasih atas infonya,

Harap dicatat bahwa saat ini saya tidak memiliki mac os yang tersedia untuk pengujian (saya bukan pengguna mac), jadi jika Anda dapat mencoba beberapa hal lagi untuk saya, saya akan membantu men-debug masalah nanti.

Uji apakah semua atribut dengan MinValue/MaxValue adalah ciri

Meskipun tidak baik untuk gagal dalam tes, saya tidak berpikir bahwa kesalahan ini terkait dengan masalah Anda.

Mencobanya dari konsol jupyter saya mendapatkan kesalahan yang sedikit berbeda:

Kesalahan tentang OpenGL aneh dan tidak jelas dari mana asalnya (tidak ada traceback).
Apakah mungkin menjalankan perintah dari python Prompt untuk menghindari konsol jupyter berinteraksi dengan aplikasi Qt dan output.

Saya tidak dapat menjalankan menggunakan Wx karena saya mendapatkan kesalahan berikut ketika saya mencoba mengaturnya sebagai GUI:

Saya melihat bahwa Anda menggunakan wxpython 3.0. Harap dicatat bahwa dukungan untuk python 3.0 telah ditambahkan di traitui 5.0.0. Jadi saya menyarankan bahwa karena Anda menggunakan versi terbaru untuk mayavi, Anda juga harus menggunakan versi terbaru untuk ciri-ciri, ciri-ciri dan pyface, apptools dan envisage.

Akhirnya, pesan terakhir (di wx) membuat saya berpikir bahwa kami menjalankan python di mesin tanpa kepala (atau mungkin wadah) apakah itu benar?

Terima kasih untuk bantuannya.

memperbarui

Di windows 10 dengan python 2.7.10 (64bit) dan vtk 6.3 saya mendapatkan segfault. Jadi sepertinya masalahnya tidak terkait dengan mac osx. Akan segera memberikan info lebih lanjut.

@ryanpepper tampaknya tvtk.GL2PSExporter() gagal ketika mencoba write file pdf. Ini mungkin bug vtk atau tvtk tetapi tidak akan dapat mengetahui dengan pasti tanpa penyelidikan lebih lanjut. Ekspor ps normal seharusnya berfungsi sebagai solusi

@itziakos Hebat, terima kasih telah menyelidiki.

@ryanpepper -- ini benar-benar berfungsi tetapi sepertinya ada masalah VTK yang aneh di mana VTK menyimpan snapshot.pdf.gz ketika file tersebut benar-benar PDF dengan konten terkompresi jadi jika Anda hanya mengganti nama file menjadi snapshot.pdf itu harus dirender saja baik. Jika Anda mematikan kompresi pada dialog yang muncul, itu juga akan berfungsi tetapi file akan lebih besar meskipun file akan disimpan sebagai snapshot.pdf. :( Saya menutup ini karena ini terlihat seperti masalah VTK dengan cara menyimpan file. Salah satu perbaikan peretasan adalah menguji apakah file disimpan sebagai *.pdf.gz dan memindahkannya tetapi itu sepertinya peretasan tapi saya' akan berhasil Ini adalah bagian dari https://github.com/enthought/mayavi/pull/416 Saya akan mendorong beberapa perbaikan lagi jika diperlukan tetapi untuk saat ini saya menutup masalah ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat