Spyder: Bersihkan conda Windows install, diikuti oleh 'conda update --all' menghasilkan mkl dll yang salah digunakan untuk Spyder

Dibuat pada 27 Jun 2018  ·  105Komentar  ·  Sumber: spyder-ide/spyder

Deskripsi Masalah

Instalasi conda bersih dari https://www.anaconda.com/download/#windows (versi 5.2.0) berfungsi untuk Spyder, tetapi jika saya kemudian melakukan 'conda update --all', konfigurasi yang dihasilkan rusak. Saat Anda menjalankan Spyder, meluncurkan dari Anaconda navigator, Anda mendapatkan pesan tentang ordinal 242 yang hilang di Anaconda3\Library\bin\mkl_intel_thread.dll

Ini ternyata karena dll dari mkl-2018.0.3-1 diinstal di Anaconda3\Library\bin\, tetapi sesuatu di Spyder membutuhkan dll dari mkl-2018.0.2-1 sebagai gantinya. Jika Anda menyalin dll dari Anaconda3\pkgs\mkl-2018.0.2-1\Library\bin ke Anaconda3\Library\bin, Spyder kemudian diluncurkan secara normal. (Ini mungkin merusak sesuatu yang lain, tetapi jika demikian, itu adalah sesuatu yang belum saya coba gunakan ;-)

Langkah-langkah apa yang mereproduksi masalah?

  1. Instal Anaconda untuk Windows
  2. jalankan conda update --all
  3. Luncurkan Spyder

Apa keluaran yang diharapkan? Apa yang Anda lihat sebagai gantinya?

Tempel Traceback/Error Di Bawah (jika ada)

PASTE TRACEBACK HERE

Versi

  • Versi Spyder: 3.2.8
  • Versi Python: 3.6.5
  • Versi Qt: 5.9.4
  • Versi PyQt5: 5.9.2
  • Sistem operasi: Windows 10

Ketergantungan

pyflakes >=0.6.0 :  2.0.0 (OK)
pycodestyle >=2.3:  2.4.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.23.1 (OK)
numpy >=1.7      :  1.14.5 (OK)
sphinx >=0.6.6   :  1.7.5 (OK)
rope >=0.9.4     :  0.10.7 (OK)
jedi >=0.9.0     :  0.12.0 (OK)
nbconvert >=4.0  :  5.3.1 (OK)
sympy >=0.7.3    :  1.1.1 (OK)
cython >=0.21    :  0.28.3 (OK)
qtconsole >=4.2.0:  4.3.1 (OK)
IPython >=4.0    :  6.4.0 (OK)
pylint >=0.25    :  1.9.2 (OK)
NotSpyder

Komentar yang paling membantu

Kami telah berbicara dengan Intel tentang masalah ini. Mereka mengatakan bahwa ada beberapa perubahan mundur yang tidak kompatibel di mkl 2019. Kami telah beroperasi dengan asumsi bahwa perangkat lunak yang dibangun melawan 2018 akan berfungsi dengan 2019, tetapi itu belum tentu benar. Kami akan membangun kembali paket sehingga kendala lebih akurat, dan perangkat lunak lengkap yang dibangun dengan mkl 2019 tersedia.

Semua 105 komentar

tetapi sesuatu di Spyder membutuhkan dll dari mkl-2018.0.2-1 sebagai gantinya

Kami bergantung pada Numpy untuk menampilkan array di Variable Explorer kami, sehingga dapat menyebabkan masalah di sini.

@mingwandroid , apakah ada masalah dengan paket conda MKL terbaru? Maaf mengganggu Anda, tapi sepertinya memang begitu.

Tidak perlu meminta maaf Carlos! @marahan adalah ahli mkl kami, jadi saya memberikan uang di sini.

Saya menginstal Miniconda3 dan kemudian menjalankan conda install pandas.. saya mendapat masalah yang sama dengan mkl

Ordinal 242 hilang di Miniconda3\Library\bin\mkl_intel_thread.dll

pesan ini muncul ketika saya mencoba mengimpor panda atau paket lainnya

@ccordoba12 @mingwandroid @marahan Ini tampaknya berpotensi lebih serius daripada yang dinyatakan sebelumnya, sampai pada dasarnya membuat lingkungan Anaconda dengan mkl 2018.0.3 benar-benar tidak dapat digunakan. Saya menginstal Spyder 3.3.0 (conda-forge) dan dependensi opsionalnya ( numpy , pandas , matplotlib , scipy , sympy dan cython ) ke lingkungan conda baru di sistem Win 8.1 x64 saya, dan sementara import pandas tidak memicu pesan kesalahan di lingkungan itu, apa pun dengan matplotlib akan , antara lain, misalnya

import matplotlib.pyplot as plt
ax = plt.subplot(111, projection='polar')

Ini tidak hanya terjadi di Spyder, tetapi juga QtConsole, ipython, dan bahkan juru bahasa python; masing-masing crash dengan dua baris di atas. Saya juga menguji di lingkungan baru yang bersih hanya dengan Python 3.6.6 dan matplotlib yang diinstal, dan segera mendapatkan bug pada import matplotlib.pyplot as plt di interpreter Python dasar, membuat crash. Saya kemudian menginstal pandas , dan segera mendapatkan bug yang sama setelah mengimpornya, lagi-lagi membuat penerjemah crash. Saya kemudian menurunkan versi ke mkl 2018.0.2-1 dari 2018.0.3-1 dengan conda, dan semuanya bekerja dengan baik.

Jadi, pengguna dapat memperbaikinya secara relatif tanpa rasa sakit (untuk saat ini) hanya dengan menjalankan conda install mkl=2018.0.2 di bawah Anaconda Prompt di lingkungan yang terpengaruh. Namun, ini akan terlihat sangat serius bagi mereka yang membuat lingkungan baru yang menggunakan numpy atau paket lain yang bergantung padanya, siapa pun yang menjalankan conda update --all , atau siapa pun yang menginstal atau memperbarui paket yang memicu instal versi baru itu, karena itu akan menyebabkan lingkungan mereka pada dasarnya rusak dan tidak dapat digunakan kecuali dan sampai mereka mengetahui dan menerapkan perbaikan di atas.

Ini tidak serius, conda-forge dan The Anaconda Distribution tidak kompatibel satu sama lain saat ini.

Harap jangan laporkan bug terhadap pemasangan campuran tersebut sampai kami mengumumkan kompatibilitas penuh.

Apakah ada alasan bagus bagi Anda untuk mencampurkan hal-hal seperti ini?

Jadi, pengguna dapat memperbaikinya secara relatif tanpa rasa sakit (untuk saat ini) hanya dengan menjalankan conda install mkl=2018.0.2 di bawah Anaconda Prompt di lingkungan yang terpengaruh. Namun, ini tampaknya sangat serius bagi mereka yang membuat lingkungan baru yang menggunakan numpy atau paket lain yang bergantung padanya, siapa pun yang menjalankan conda update --all, atau siapa pun yang menginstal atau memperbarui paket yang memicu penginstalan versi baru itu, karena itu akan menyebabkan lingkungan mereka pada dasarnya rusak dan tidak dapat digunakan kecuali dan sampai mereka menyadari dan menerapkan perbaikan di atas.

Semua ini tidak berlaku jika aturan diikuti. Pengguna kami dimaksudkan untuk memilih AD atau CF saat ini (dalam lingkungan tertentu, sebenarnya itu adalah salah satu manfaat utama dari lingkungan conda; perangkat lunak yang saling tidak kompatibel (dikembangkan oleh tim yang berbeda dengan pendekatan yang berbeda untuk kompiler dan kompatibilitas biner, dan btw, kami menangani hal itu jauh lebih baik daripada CF) dapat dipagari satu sama lain.

Saya menginstal Spyder 3.3.0 (conda-forge)

Kenapa kau melakukan itu? Silakan pilih satu atau yang lain untuk saat ini. CF atau AD, tidak pernah keduanya.

Ini tidak serius, conda-forge dan The Anaconda Distribution tidak kompatibel satu sama lain saat ini.

Yah, itu terdengar seperti bug yang cukup serius dan berprioritas tinggi jika menginstal satu paket (dan beberapa dependensi) dari CF ke lingkungan conda yang seharusnya "terisolasi" dapat merusak seluruh instalasi Anaconda, termasuk yang sepenuhnya terpisah, baru saja menciptakan lingkungan tanpa pencampuran seperti itu dan hanya sejumlah kecil paket AD resmi. Namun, mungkin ada hal lain yang terjadi yang tidak pernah kami pertimbangkan.

Harap jangan laporkan bug terhadap pemasangan campuran tersebut sampai kami mengumumkan kompatibilitas penuh.

Mungkin saya salah menafsirkan sesuatu, tetapi tidak yakin saya memahami alasan untuk apa yang saya lakukan salah di sini berdasarkan informasi yang saya miliki, dalam membagikan temuan saya yang diamati di atas pada pelacak bug kami sendiri tentang masalah yang memengaruhi perangkat lunak kami sendiri, bersama dengan solusi potensial untuk pengguna kami yang mengalami masalah yang sama.

Beberapa pengguna perangkat lunak kami yang tampaknya mengikuti praktik baik yang wajar melaporkan masalah yang tampaknya mengkhawatirkan yang memengaruhinya, yang diindikasikan oleh pengelola kami kemungkinan dengan pihak ketiga, yang Anda akui di atas. Kebetulan, saya menemukan kesalahan yang sama dalam situasi yang sama, dan menindaklanjuti dengan penyelidikan lebih lanjut terperinci dari masalah yang tampaknya mengungkapkan bahwa itu berpotensi jauh lebih serius daripada yang diperkirakan sebelumnya, yang dalam pengujian saya memengaruhi banyak independen, baru dibuat dan minimal lingkungan, dan tidak hanya mempengaruhi Spyder tetapi Python lain yang ditafsirkan di lingkungan.

Sementara masih ada sejumlah besar ketidakpastian yang ada (dan dengan demikian saya memenuhi syarat pernyataan saya dengan "berpotensi", "tampaknya", dll) mengenai sifat dan besarnya masalah, mengingat potensi dampak yang cukup besar bagi kedua pengguna kami sendiri. dan komunitas Anaconda yang lebih luas, saya menganggap bijaksana untuk menandai beberapa individu lain yang telah disebutkan oleh peserta lain sebagai pihak yang berpotensi tertarik, jika temuan saya membantu dalam menyelesaikan masalah dengan cepat. Agak ironis dengan pernyataan di atas, salah satu pertimbangan saya yang lain dalam ingin membantu mencegah potensi masalah dengan cepat adalah jumlah masalah sebelumnya dengan paket pihak ketiga di luar kendali kami yang terkadang mengakibatkan hingga lusinan laporan bug (kebanyakan tidak mengikuti praktik yang kami rekomendasikan) per hari di piring kami sendiri yang harus saya dan @ccordoba12 hadapi, terlepas dari upaya terbaik kami untuk membendung arus.

Apakah ada alasan bagus bagi Anda untuk mencampurkan hal-hal seperti ini?

Faktanya, saya percaya sepertinya ada, pada saat itu. Sebagai (antara lain) pengelola dokumen baru Spyder, dan penulis utama untuk blog resmi proyek, akun media sosial, platform pendanaan, dan properti web lainnya, saya diminta untuk memperbarui yang pertama dengan pemasangan dan penggunaan dengan Spyder untuk paket spyder-kernels independen kami yang baru, dan perlu mengambil beberapa tangkapan layar dari fitur-fitur baru yang sedang beraksi untuk yang terakhir, yang keduanya praktis mengharuskan untuk benar-benar menginstal paket baru dari suatu tempat.

Meskipun sudah lebih dari seminggu dari rilis PyPI, paket default-channel conda masih belum keluar (rilis yang kami ingin posting blog tersebut segera menyusul); pip bukanlah pilihan yang diinginkan setelah mendengar tanpa akhir dari kesengsaraan yang dapat dibawa ke instalasi Anaconda (dan setelah membantu banyak pengguna Spyder mengambil potongan setelah kerusakannya), dan menjalankan dari klon Github tidak akan 't berfungsi tanpa pengaturan dan konfigurasi yang terlalu banyak karena perubahan utama spyder-kernels dan kurangnya ketersediaan paket itu pada conda , belum lagi kebutuhan untuk membuat lingkungan Anaconda baru untuk itu pula. Oleh karena itu, dilindungi oleh (apa yang saya pikir adalah) keamanan relatif dari conda-env yang terisolasi dan bersih, saya mencoba menginstal Spyder 3.3.0 dari conda-forge , sepenuhnya mengharapkan kemungkinan masalah dan siap untuk menanganinya sendiri, coba pendekatan lain di lingkungan yang baru, atau cukup tunggu paket resmi untuk melakukan tangkapan layar jika saya tidak punya pilihan lain.

Memang, pada awalnya langsung crash karena qt build yang tidak kompatibel, tetapi beralih di sekitar menyelesaikannya dan memungkinkan Spyder untuk diluncurkan dan berfungsi dengan baik, hingga masalah memuat matplotlib . Saya biasanya akan mengabaikannya karena ketidaksempurnaan kompatibilitas conda-forge (seperti yang Anda lakukan) dan melanjutkan, tetapi saya kebetulan baru saja meninjau utas masalah ini dalam proses mulai kembali ke kebiasaan saya tugas triase masalah pada repo ini. Mengingat bahwa beberapa pengguna lain telah melaporkan masalah yang sama dalam keadaan yang tidak terlalu dipertanyakan, dan hasil yang berkaitan dengan penyelidikan lebih lanjut saya, tampaknya bijaksana untuk membagikan temuan saya untuk membuat orang lain seperti Anda sadar jika mereka memang membantu dalam menyelesaikan masalah. , dan sementara itu bantu pengguna kami dengan solusi potensial. Namun, tampaknya Anda telah menemukan kekhawatiran saya tidak begitu mengkhawatirkan, yang akan cukup memuaskan.

Semua ini tidak berlaku jika aturan diikuti. Pengguna kami dimaksudkan untuk memilih AD atau CF saat ini.

Seperti yang saya diskusikan dalam laporan asli saya, masalah tetap ada di beberapa lingkungan baru dengan hanya paket dari saluran defaults , dan paket saluran CF (yang saya perhatikan, tidak menyertakan mkl atau salah satu paket terkaitnya) dipasang ke lingkungan yang terpisah dan terisolasi dari yang lainnya.

Kenapa kau melakukan itu? Silakan pilih satu atau yang lain untuk saat ini. CF atau AD, tidak pernah keduanya.

Saya tidak yakin saya mengerti mengapa saya ditanya apa yang tampaknya sama dua kali. Apakah Anda mengatakan saya harus mempertahankan instalasi Anaconda/Miniconda sepenuhnya terpisah hanya untuk paket conda-forge , belum lagi saluran lain? Itu tampaknya meniadakan banyak keuntungan Anaconda dengan lingkungan dan saluran, belum lagi cukup tidak efisien dalam berbagai hal.

Bagaimanapun, kembali ke topik, saya melakukan beberapa jam pengujian yang agak ekstensif pada komputer lain, yang ini menjalankan Windows 10 x64 (pada perangkat keras yang hampir sama) dan dengan instalasi Anaconda base dari periode yang kira-kira sama dengan saya yang lain, dengan beberapa kegunaan, beberapa paket lain dan beberapa lingkungan conda hadir, tetapi sebaliknya relatif "bersih" karena sebagian besar digunakan sebagai mesin uji.

Saya mencoba setiap prosedur yang menghasilkan masalah pada mesin utama saya dan beberapa lagi selain itu (termasuk langkah-langkah yang pada dasarnya tepat dari sebelumnya ketika saya menginstal dari conda-forge )l, semuanya di lingkungan baru yang terpisah, dan tidak pernah bisa mereproduksi kesalahan. Satu-satunya perbedaan lain yang dapat saya pikirkan antara kedua mesin adalah Win10 yang berjalan pada akun non-admin, dengan Anaconda diinstal untuk semua pengguna dari akun admin, tetapi tidak ada masalah atau perbedaan lain yang tampaknya dihasilkan dari itu (selain dari perlu mengautentikasi untuk menginstal pintasan).

Sementara itu, kembali ke mesin utama saya, buat beberapa lingkungan baru yang segar lagi tanpa conda-forge terlibat, dan di jendela Prompt Anaconda baru masih memanifestasikan masalah yang sama seperti sebelumnya, kecuali dan hingga versi mkl digulung kembali oleh satu di lingkungan yang relevan.

Anda perlu menunjukkan output dari conda list --show-channel-urls . Agar jelas, jika saya melihat default dan conda-forge dalam daftar itu maka Anda perlu memperbaikinya. Jika Anda tidak melihatnya dan hanya melihat default tetapi masih melihat masalah ini, laporkan di ContinuumIO/anaconda-issues di sini di github. Jika Anda hanya melihat conda-forge maka saya bingung!

Ini tidak serius, conda-forge dan The Anaconda Distribution tidak cocok satu sama lain saat ini.

Yah, itu terdengar seperti bug yang cukup serius dan berprioritas tinggi jika menginstal satu paket (dan beberapa dependensi) dari CF ke dalam lingkungan conda yang seharusnya "terisolasi" dapat merusak seluruh instalasi Anaconda, termasuk lingkungan yang sepenuhnya terpisah dan baru dibuat tanpa pencampuran dan hanya sejumlah kecil paket AD resmi. Namun, mungkin ada hal lain yang terjadi yang tidak pernah kami pertimbangkan.

Jika itu adalah bug prioritas tinggi, itu bukan bug yang bisa dilakukan oleh siapa pun. conda-forge adalah entitas yang terpisah dari AD. Tapi tidak apa-apa, kami menerapkan lingkungan untuk itu. Jika sebuah paket tidak ada di satu dan itu adalah prioritas tinggi maka itulah masalah yang dapat diperbaiki di sini, saya tidak dapat secara ajaib membuat biner CF dan AD kompatibel (dan sayangnya upaya untuk mencapai tahap itu berjalan sangat lambat).

Anda perlu menunjukkan output dari conda list --show-channel-urls .

Seperti yang telah saya nyatakan sebelumnya, saya telah mereproduksi ini di mesin utama saya di conda-envs baru hanya dengan python dan matplotlib diinstal dari defaults —itu cukup sulit untuk mengacaukannya, bahkan bagi saya, heh. Namun demikian, ini dia sebagai contoh:

(mkl-test-2) C:\Users\C. A. M. Gerlach\Documents\dev>python
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

(mkl-test-2) C:\Users\C. A. M. Gerlach\Documents\dev>conda list --show-channel-urls
# packages in environment at C:\Anaconda3\envs\mkl-test-2:
#
# Name                    Version                   Build  Channel
blas                      1.0                         mkl    defaults
ca-certificates           2018.03.07                    0    defaults
certifi                   2018.4.16                py36_0    defaults
cycler                    0.10.0           py36h009560c_0    defaults
freetype                  2.8                  h51f8f2c_1    defaults
icc_rt                    2017.0.4             h97af966_0    defaults
icu                       58.2                 ha66f8fd_1    defaults
intel-openmp              2018.0.3                      0    defaults
jpeg                      9b                   hb83a4c4_2    defaults
kiwisolver                1.0.1            py36h12c3424_0    defaults
libpng                    1.6.34               h79bbb47_0    defaults
matplotlib                2.2.2            py36h153e9ff_1    defaults
mkl                       2018.0.3                      1    defaults
mkl_fft                   1.0.2            py36hb217b18_0    defaults
mkl_random                1.0.1            py36h9258bd6_0    defaults
numpy                     1.14.5           py36h9fa60d3_3    defaults
numpy-base                1.14.5           py36h5c71026_3    defaults
openssl                   1.0.2o               h8ea7d77_0    defaults
pip                       10.0.1                   py36_0    defaults
pyparsing                 2.2.0                    py36_1    defaults
pyqt                      5.9.2            py36h1aa27d4_0    defaults
python                    3.6.6                hea74fb7_0    defaults
python-dateutil           2.7.3                    py36_0    defaults
pytz                      2018.5                   py36_0    defaults
qt                        5.9.6            vc14h62aca36_0    defaults
setuptools                39.2.0                   py36_0    defaults
sip                       4.19.8           py36h6538335_0    defaults
six                       1.11.0                   py36_1    defaults
sqlite                    3.24.0               h7602738_0    defaults
tornado                   5.0.2            py36hfa6e2cd_0    defaults
vc                        14                   h0510ff6_3    defaults
vs2015_runtime            14.0.25123                    3    defaults
wheel                     0.31.1                   py36_0    defaults
wincertstore              0.2              py36h7fe50ca_0    defaults
zlib                      1.2.11               h8395fce_2    defaults

Di lingkungan pertama tempat itu terjadi, Spyder dan beberapa dependensi yang diperlukan berasal dari conda-forge (selain dari dirinya sendiri dan spyder-kernels , ini adalah freetype, icu, jpeg, keyright, libpng, libsodium, pywin32-cytpes, sqlite, zeromq, and zlib ); jika tidak, semuanya berasal dari defaults .

Dalam pengujian ini, saya tidak dapat membuat lingkungan conda-forge murni, bahkan setelah membuat dan mengaktifkan lingkungan kosong, melakukan conda config --env --prepend channels conda-forge lalu conda install -c python=3.6 dan akhirnya conda install -c matplotlib , karena beberapa dependensi matplotlib , yaitu paket mkl yang melanggar bersama dengan teman-teman Intelnya icc_rt , itnel-openmp , dan numpy dan numpy-base yang secara langsung bergantung padanya semuanya hanya defaults ; tebakan saya akan karena masalah lisensi. Menariknya, lingkungan itu gagal dengan kesalahan yang berbeda:

(mkl-cf) C:\Users\C. A. M. Gerlach\Documents\dev>python
Python 3.6.5 | packaged by conda-forge | (default, Apr  6 2018, 16:13:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
ImportError: DLL load failed: The operating system cannot run %1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\matplotlib\__init__.py", line 127, in <module>
    from . import cbook
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\matplotlib\cbook\__init__.py", line 35, in <module>
    import numpy as np
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\__init__.py", line 158, in <module>
    from . import add_newdocs
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Anaconda3\envs\mkl-cf\lib\site-packages\numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: The operating system cannot run %1.

Namun, sekali lagi, kembali ke mkl versi 2018.0.2 (masih pada defaults , karena tampaknya tidak ada paket conda-forge ) memperbaiki masalah dan bekerja dengan sempurna. Saya kembali mencoba langkah yang sama pada mesin uji Win 10 saya, dan kedua versi berfungsi dengan baik tanpa kesalahan. Oleh karena itu, tampaknya merupakan kombinasi dari sesuatu di lingkungan perangkat lunak saya (baik OS atau paket pendukung lainnya, atau ada yang salah dengan instalasi Anaconda saya, yang hingga saat ini saya tidak memiliki masalah serius), dan versi paket khusus itu, dan ternyata saya tidak sendiri.

@VELCpro dapatkah Anda memberikan detail yang sama seperti yang dilakukan OP sehubungan dengan berbagai versi dan dependensi Anda (dan conda list --show-channel-urls untuk lingkungan yang disebutkan di atas) jika itu membantu mempersempitnya?

Jika itu adalah bug prioritas tinggi, itu bukan bug yang bisa dilakukan oleh siapa pun. conda-forge adalah entitas yang terpisah dari AD. Tapi tidak apa-apa, kami menerapkan lingkungan untuk itu.

Benar, tetapi untuk memperjelas seperti yang telah saya nyatakan selama ini, masalah dengan mkl 2018.0.3 terjadi di beberapa lingkungan conda baru yang tidak ada hubungannya dengan CF atau lingkungan yang sama terisolasinya. paket-paketnya sudah terinstal. Juga, jika itu penting, saya tidak memiliki dependensi non-default yang diinstal di base (hanya beberapa paket khusus domain dari conda-forge dan beberapa pengujian spyder dan paket terkait pengembangan dari spyder-ide , yang seharusnya tidak memiliki dependensi terbalik yang mungkin benar-benar menimbulkan masalah, juga tidak digunakan atau sama sekali terkait dengan salah satu di atas).

Lagi pula, ini hampir jam 7 pagi, jadi saya mungkin harus tidur :tired_face:

Anda harus tidur, saya setuju!

seperti yang telah saya nyatakan selama ini, masalah dengan mkl 2018.0.3

Saya telah mendemonstrasikan satu lingkungan di mana ini tidak dapat direproduksi yang mencakup mkl 2018.0.3 dan sangat mirip dengan detail yang Anda berikan.

Anda harus tidur, saya setuju!

  • [x] Tidur diperoleh!

Saya telah menunjukkan satu lingkungan di mana ini tidak dapat direproduksi

Memang; Saya telah mendemonstrasikan seluruh mesin yang tidak dapat direproduksi . Namun, setiap satu dari setengah lusin lingkungan yang saya uji pada mesin utama saya mengalami masalah ini pada mkl 2018.0.3 , sementara mkl 2018.0.0 melalui .2 semuanya baik-baik saja. Poin yang saya coba sampaikan di sana, adalah bahwa saya mengalami masalah di beberapa lingkungan yang benar-benar terpisah, semua- defaults , seperti pernyataan Anda ("Tapi tidak apa-apa, kami menerapkan lingkungan untuk itu.") Tampaknya menyarankan Anda masih berpikir sebaliknya.

Oleh karena itu, seperti yang saya diskusikan beberapa paragraf di atas, ini tampaknya merupakan bug conda yang menyebabkan kesalahan pada instalasi saya yang bertahan di seluruh lingkungan, atau sesuatu yang spesifik untuk kombinasi mesin saya dan mkl Versi: kapan. Untuk mencoba mengesampingkan yang pertama, saya mencoba mereproduksi rangkaian langkah yang tepat yang digunakan untuk mengatur lingkungan conda-forge Spyder 3.3.0 di mesin utama saya serta banyak kombinasi lain selain itu, dan mencoba mkl lainnya versi pada mesin utama saya untuk melihat apakah salah satu dari mereka juga memiliki masalah, dan tidak menghasilkan kesalahan apa pun. Untuk mencoba mengatasi yang terakhir, mesin saya yang lain di mana itu tidak terjadi memiliki perangkat keras yang hampir identik dan pengaturan Anaconda yang sangat mirip, meskipun memiliki Win 10 (vs. 8.1), begitu pula setidaknya satu reporter lain di sini, itulah sebabnya Saya bertanya kepada mereka lingkungan perangkat lunak apa yang mereka coba gunakan. Selain itu, saya benar-benar bingung—saya biasanya cenderung mengabaikannya sebagai khusus pemasangan dan melanjutkan, tetapi perbaikan yang jelas (penurunan versi) dan fakta bahwa beberapa pengguna lain telah melaporkan tampaknya menyarankan penyelidikan lebih lanjut adalah dijamin.

Saya tidak yakin apa yang sedang kita bicarakan tentang pemasangan campuran. Saya baru saja melakukan instalasi baru dan kemudian melakukan "conda update --all" dan semuanya rusak seperti yang dijelaskan orang di atas. Bukankah kita seharusnya memperbarui paket sendiri? Navigator menunjukkan bahwa ada versi baru yang perlu diperbarui.

Ini masih menjadi masalah. Saya baru saja menggunakan Anaconda3-5.2.0-Windows-x86_64 (diunduh pada 13/09/2018). Kemudian apakah conda update --all dan spyder rusak. Saya mencoba menggunakan conda install mkl=2018.0.2 namun itu akan melibatkan penurunan versi numpy ke 1,14 masalah asli yang saya coba selesaikan dengan memperbarui semua adalah untuk mendapatkan numpy 1,15. Menyalin dll secara manual tidak berfungsi.

spyder pecah

Bisakah Anda lebih spesifik? Yaitu, apakah Anda mengalami pesan kesalahan persis di atas, atau apa yang Anda maksud?

Saya mencoba menggunakan conda install mkl=2018.0.2

Apa yang terjadi ketika Anda mencobanya? Itu memperbaiki masalah, benar?

masalah asli yang saya coba selesaikan dengan memperbarui semua adalah mendapatkan numpy 1,15

Bukan berarti itu berkontribusi pada masalah khusus ini, tetapi jika Anda secara khusus, ingin mendapatkan NumPy 1.15, maka lakukan saja conda update numpy (atau conda install numpy=1.15 ).

@CAM-Gerlach Tangkapan yang bagus, bukan kesalahan yang sama, hanya penyebabnya yang sama. Saya gagal untuk memperhatikan.

Ada dua pesan kesalahan.

  1. Ketika saya memulai spyder, konsol ipython gagal memuat dengan traceback ini:
An error ocurred while starting the kernel
Traceback (most recent call last):
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 11, in 
start.main()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 284, in main
kernel.initialize()
File "", line 2, in initialize
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\traitlets\config\application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 474, in initialize
self.init_io()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 326, in init_io
sys.stdout.flush()
AttributeError: 'NoneType' object has no attribute 'flush'
Traceback (most recent call last):
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 11, in 
start.main()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 284, in main
kernel.initialize()
File "", line 2, in initialize
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\traitlets\config\application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 474, in initialize
self.init_io()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 326, in init_io
sys.stdout.flush()
AttributeError: 'NoneType' object has no attribute 'flush'
Traceback (most recent call last):
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 11, in 
start.main()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 284, in main
kernel.initialize()
File "", line 2, in initialize
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\traitlets\config\application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 474, in initialize
self.init_io()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 326, in init_io
sys.stdout.flush()
AttributeError: 'NoneType' object has no attribute 'flush'
Traceback (most recent call last):
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 11, in 
start.main()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 284, in main
kernel.initialize()
File "", line 2, in initialize
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\traitlets\config\application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 474, in initialize
self.init_io()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 326, in init_io
sys.stdout.flush()
AttributeError: 'NoneType' object has no attribute 'flush'
Traceback (most recent call last):
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\XXXXX\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 11, in 
start.main()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 284, in main
kernel.initialize()
File "", line 2, in initialize
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\traitlets\config\application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 474, in initialize
self.init_io()
File "C:\Users\XXXXX\Anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 326, in init_io
sys.stdout.flush()
AttributeError: 'NoneType' object has no attribute 'flush'
  1. Di anaconda Prompt dari mana saya memanggil spyder saya melihat:
    js: NOt allowed to load local resource: file:///C:/Users/XXXXXX/Anaconda3/lib/site-packages/spyder/utils/help/static/css/default.css

Saya juga perhatikan bahwa tidak ada folder "C:/Users/XXXXXX/Anaconda3/lib", saat menginstal anaconda di Windows 10 dengan Anaconda3-5.2.0-Windows-x86_64.exe folder yang benar adalah "C:/Users/ XXXXXX/Anaconda3/Lib". Saya tidak yakin seberapa besar masalah huruf kapital, tapi mungkin itu menunjuk ke arah yang benar.

Terakhir, hal numpy versi 1.15 ternyata menjadi sesuatu yang sama sekali tidak berhubungan. Saya memanggil modul python dari Matlab, yang benar-benar perlu saya lakukan adalah memulai Matlab dari Anaconda Prompt sehingga variabel lingkungan akan benar.

Saya menginstal ulang Anaconda dan tidak akan menggunakan "conda update --all" sampai saya tahu bug ini telah diperbaiki.

Saya juga harus menambahkan bahwa setiap kali saya menjalankan Anaconda Prompt saya menjalankan sebagai administrator. Saya juga selalu memulai spyder dari dalam Anaconda Prompt.

@jojker , kesalahan Anda tidak terkait dengan apa yang dibahas di sini. Yang pertama diperbaiki dengan menurunkan versi ipykernel dengan

conda install ipykernel=4.8.2

Yang kedua sudah diperbaiki dan akan menjadi bagian dari versi 3.3.2 kami.

Yang pertama diperbaiki dengan menurunkan versi ipykernel dengan

conda install ipykernel=4.8.2

Terima kasih!

Saya juga perhatikan bahwa tidak ada folder "C:/Users/XXXXXX/Anaconda3/lib", saat menginstal anaconda di Windows 10 dengan Anaconda3-5.2.0-Windows-x86_64.exe folder yang benar adalah "C:/Users/ XXXXXX/Anaconda3/Lib".

Sistem file Windows NTFS tidak peka huruf besar/kecil (yaitu huruf besar/kecil tidak masalah), jadi tidak masalah. Namun, tidak ada salahnya untuk bertanya seperti yang Anda lakukan.

Senang Anda menyelesaikannya!

Instalasi py3.6.6 yang bersih rusak dengan 2018.0.3 dan 2019.0,

The ordinal 191 could not be located in the dynamic link library C:\conda\Library\bin\mkl_intel_thread.dll

2018.0.2 berfungsi. 2018 mengeluh tentang ordinal 242, 2019 tentang 191.

e: perhatikan ini dengan miniconda dan bukan distribusi anaconda penuh lemak.

@ ccordoba12 Jadi, apakah ada sesuatu yang dapat dilakukan di pihak kami atau Anaconda, atau apakah itu karena beberapa tindakan sisi pengguna tertentu?

Kami tidak bisa berbuat apa-apa tentang ini di Spyder. Itu harus diperbaiki di Anaconda.

Apakah akan membantu untuk mengajukan laporan bug untuk Anaconda? Apakah sudah ada satu?

Mungkin berguna untuk menginstal runtime Visual Studio yang berbeda. Kami memiliki beberapa laporan bahwa menginstal runtime VS 2013 membantu.

conda install vs2013_runtime

Masalahnya ada ketika tidak ada runtime Visual Stuido yang diinstal sama sekali. Apakah Anda menyarankan bahwa menginstalnya akan memperbaiki masalah?

Cobalah?

@marahan @mingwandroid @ccordoba12 Saya memiliki lingkungan saluran Python 3.6, all-Anaconda defaults pada Windows 8.1 x64 dan conda 4.5.11 untuk menjalankan master saat ini dari Spyder 4, yang telah hanya dependensi Spyder (dan tidak ada yang lain) yang diinstal di bawah Python 3.6, dan tentu saja semuanya berfungsi. Namun, ketika saya menjalankan conda install matplotlib , yang menghasilkan output berikut:

Solving environment: done

## Package Plan ##

  environment location: C:\Anaconda3\envs\spyder-4-lsp

  added / updated specs:
    - matplotlib


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    mkl_fft-1.0.6              |   py36hdbbee80_0         120 KB
    blas-1.0                   |              mkl           6 KB
    numpy-base-1.15.2          |   py36h8128ebf_0         3.9 MB
    numpy-1.15.2               |   py36ha559c80_0          48 KB
    matplotlib-3.0.0           |   py36hd159220_0         6.7 MB
    ------------------------------------------------------------
                                           Total:        10.8 MB

The following NEW packages will be INSTALLED:

    blas:         1.0-mkl
    cycler:       0.10.0-py36h009560c_0
    freetype:     2.9.1-ha9979f8_1
    icc_rt:       2017.0.4-h97af966_0
    intel-openmp: 2019.0-118
    kiwisolver:   1.0.1-py36h6538335_0
    matplotlib:   3.0.0-py36hd159220_0
    mkl:          2019.0-118
    mkl_fft:      1.0.6-py36hdbbee80_0
    mkl_random:   1.0.1-py36h77b88f5_1
    numpy:        1.15.2-py36ha559c80_0
    numpy-base:   1.15.2-py36h8128ebf_0

The following packages will be UPDATED:

    certifi:      2018.8.13-py36_0      --> 2018.8.24-py36_1

Saya kemudian memulai Spyder (melalui boostrap.py ) dan segera crash dengan dialog berikut:

image

dan output (sebelum tidak dapat mencetak pesan startup yang biasa, kecuali untuk pernyataan cetak pertama yang kami miliki di awal skrip, dan tidak ada yang lain segera setelahnya):

Executing Spyder from source checkout
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

Saya kemudian mencoba yang berikut ini, yang semuanya tidak berpengaruh:

  • Meningkatkan ke Python 3.7
  • Menjalankan conda install -f mkl
  • Menurunkan versi ke mkl 2018.0.3 (2018.0.2 tidak tersedia untuk Python 3.7)
  • Upgrade ulang ke mkl terbaru
  • Menjalankan conda install vs2013_runtime seperti yang Anda sarankan,
  • Menurunkan sejumlah versi agar sesuai dengan env dasar saya dan env lain yang berfungsi dengan baik, masing-masing secara individual dan dalam kombinasi:

    • matplotlib 2.2.2

    • mkl-layanan 1.1.2

    • numpy dan numpy-base 1.14.6

    • mkl_fft 1.0.2 (paling awal tersedia untuk Python 3.7)

  • conda update --all , setelah ini semua selesai

Oleh karena itu, saya tidak yakin tentang bagaimana untuk melanjutkan.

where mkl_core.dll keluaran

C:\Anaconda3\envs\spyder-4-lsp\Library\bin\mkl_core.dll
C:\Anaconda3\Library\bin\mkl_core.dll

where mkl_intel_thread.dll keluaran

C:\Anaconda3\envs\spyder-4-lsp\Library\bin\mkl_intel_thread.dll
C:\Anaconda3\Library\bin\mkl_intel_thread.dll

conda list mkl keluaran

# Name                    Version                   Build  Channel
mkl                       2019.0                      118
mkl_fft                   1.0.6            py37hdbbee80_0
mkl_random                1.0.1            py37h77b88f5_1

Terima kasih!

Itu cukup membingungkan. Saat Anda menjalankan bootstrap.py spyder, apakah Anda mengaktifkan env? Jika tidak, itu mungkin jatuh ke root env, yang mungkin memiliki mkl yang lebih tua dan kedaluwarsa. Apa versi hal-hal terkait mkl di root env?

Mungkin cara subproses spyder atau ada sesuatu yang keluar dari env yang diaktifkan entah bagaimana? Bisakah Anda mencoba:

  • instal hanya instalasi root miniconda yang bersih dan sederhana di suatu tempat
  • instal deps Anda di sana ke dalam root env
  • hapus semua entri terkait Anaconda dari PATH
  • luncurkan Anaconda Prompt untuk miniconda itu
  • jalankan barang spyder Anda dari Anaconda Prompt

Saat Anda menjalankan bootstrap.py spyder, apakah Anda mengaktifkan env? Jika tidak, itu mungkin jatuh ke root env, yang mungkin memiliki mkl yang lebih tua dan kedaluwarsa. Apa versi hal-hal terkait mkl di root env?

@marahan Terima kasih atas tanggapan cepat Anda. Saya mempertimbangkan sesuatu seperti itu pada awalnya, tetapi fakta bahwa lingkungan diaktifkan, entri pertama pada kedua panggilan where adalah dll yang benar dari lingkungan (sedangkan jika aktivasi lingkungan gagal karena beberapa alasan , diam-diam atau tidak, where hanya akan mengembalikan jalur base ), dan yang paling penting jalur yang tercantum pada dialog kesalahan sebenarnya adalah ke salinan lingkungan dari dll (yang ada dan merupakan versi 2019.0) yang benar, ditandatangani, dan diverifikasi, sepertinya sangat tidak mungkin. Saya juga mengujinya dalam prompt Anaconda stok baru dan juga memiliki hasil negatif yang sama. EDIT: Hasil lebih lanjut membuat kemungkinan ini semakin tidak mungkin; Lihat di bawah

Di env dasar saya, saya memiliki versi yang sama dari mkl_random , mkl-service , blas , dan icc_rt (serta cycler dan kiwisolver ), dan setelah menurunkan dan menguji ulang, versi yang sama dari matplotlib (2.2.2) dan intel-openmp (2018.0.0). Yang paling dekat yang bisa saya dapatkan mkl itu sendiri adalah 2018.0.3 (versi dengan hte pertama kali melaporkan masalah di atas dan di tempat lain) vs 2018,0.2 di basis, dan mkl_fft 1.0.2 vs. 1.0.1, karena ketersediaan terbatas dari build Python 3.7. Saya tidak bisa melangkah lebih jauh tanpa menurunkan kembali ke 3.6 (dan saya mencoba untuk menguji Python 3.7); sama, saya hanya bisa mendapatkan numpy 1.14.5 (vs 1.13.3) dan numpy-base 1.14.5 (vs 1.14.3).

Namun, saya bisa melanjutkan dan menurunkan env pengujian saya kembali ke 3.6 versi yang sama persis dari paket-paket itu (ditambah numpy, matplotlib, dll untuk ukuran yang baik) dan melihat apakah masalahnya muncul kembali.

EDIT: Oke, jadi menurunkan versi 4 paket itu (ditambah Python ke 3.6) memang membuat semuanya berfungsi kembali. Saya sekarang akan mencoba memutakhirkan masing-masing dari mereka ke versi sebelumnya, untuk mencoba mengisolasi pelakunya, Setelah saya menemukannya, saya akan memutakhirkan env dasar saya agar sesuai dan melihat apakah itu menyelesaikan sesuatu. SELESAI, lihat di bawah

Juga, panggilan yang memicu kesalahan harus terjadi antara baris 75 dan baris 123 dari bootstrap.py , mengingat pernyataan cetak pada masing-masing baris tersebut.

@marahan Oke, jadi perbarui numpy ke 1.14.3 di base dan env uji masih berfungsi, tetapi memperbaruinya dan numpy-base ke 1.14.4 memerlukan versi mkl yang lebih baru mkl_fft . Memperbarui hanya mkl ke 2018.0.3 tidak menghasilkan kesalahan khusus ini dan akibatnya Spyder crash, dan juga tidak memperbarui mkl_fft ke 1.0.2. Namun, memperbarui numpy dan numpy-base ke 1.14.4 (dari 1.14.3) adalah penyebabnya (dan itu terus terjadi bahkan jika mkl_fft diturunkan kembali ke 1.0.1 .

Kemudian, saya memperbarui base menjadi numpy dan numpy-base 1.14.4, yang juga memperbarui mkl ke 2018.0.3 tetapi tidak ada yang lain. Kemudian, masih di base , setelah mencoba meluncurkan spyder 3,3,1 versi rilis dari paket conda normal yang selalu berfungsi sebelumnya, saya memang mendapatkan kesalahan yang sama, yang juga masih kasing dari env pengujian saya dengan versi yang sama. Oleh karena itu, satu faktor umum dalam kesalahan adalah NumPy (dan numpy-base ) >=1.14.4, sedangkan kesalahan tidak terjadi dengan <=1.14.3 dari keduanya, terlepas dari lingkungan. Menurunkan hanya numpy dan numpy-base di basis (dan tes env) ke 1.14.3 lagi membuat kesalahan tertentu hilang di lingkungan masing-masing.

Dengan mkl di 2018.0.3 dan numpy/numpy base di 1.14.3 di kedua basis dan env pengujian saya (dan setiap paket yang disebutkan di atas pada versi yang identik juga), meluncurkan Spyder 4 terbaru master di lingkungan pengujian saya dan Spyder 3.3 .1 di base tidak menghasilkan dialog kesalahan pada awalnya dan crash, tetapi Spyder 4 dalam tes env menghasilkannya jauh kemudian dalam proses startup (mungkin pada percobaan impor otomatis matplotlib di suatu tempat) dan melanjutkan memuat secara normal. Untuk keduanya, konsol mulai dengan baik, seperti halnya menjalankan import numpy as np dan beberapa fungsi numpy dasar (misalnya test_array = np.array([4, 3, 2, 3]) ).

Setelah menjalankan import matplotlib.pyplot as plt (yang tidak menampilkan kesalahan), saya menjalankan plt.plot(test_array) atau plt.plot([3, 2, 3, 4]) pada keduanya dan mendapatkan dialog kesalahan Ordinal 241 lagi, dan kernel juga mogok, hanya menampilkan b'' sebagai An error occurred while starting the kernel pesan pada Spyder 4 dan Kernel died, restarting dengan restart otomatis yang berhasil pada Spyder 3/base. Menginstal mkl 2018.0.2 pada setiap env pada gilirannya menyelesaikan masalah tersebut pada env masing-masing, sementara versi masing-masing tidak berpengaruh pada yang lain. Namun, versi numpy dan mkl ini tidak tersedia untuk Python 3.7 (sebenarnya versi terakhir dari masing-masing versi tersebut), sehingga mencegah ini menjadi solusi yang layak bahkan sebagai bantuan pita.

Bagaimanapun, baris tertentu di bootstrap.py yang memicu kesalahan memang from spyder.utils.vcs import get_git_revision , pada gilirannya, baris ada from spyder.utils import programs , yang pengeboran lebih lanjut berimplikasi pada baris from spyder.config.utils import is_anaconda , di giliran memanggil saluran yang gagal spyder_kernels.utils import iofuncs . File ini , kemudian, adalah penyebab utama.

Kecuali kemungkinan yang tidak mungkin, kesalahan dipicu pada from spyder_kernels.py3compat import getcwd, pickle, PY2, to_text_string , baris yang menyinggung sangat mungkin 158, import numpy as np , karena sebenarnya dijalankan pada waktu impor sementara scipy -kode terkait lainnya tidak di dalam blok def tidak, karena scipy tidak diinstal di lingkungan dan dengan demikian sisa blok akan dilewati.

Apakah ini membantu?

@marahan @mingwandroid Terima kasih atas bantuan Anda selama ini. Ada kemajuan dalam hal ini? Apakah ada lagi yang Anda butuhkan dari saya atau yang bisa saya bantu?

Sekarang ``conda install numpy-base-1.14.3 numpy=1.14.3 bahkan tidak tersedia di bawah python=3.7 bahkan dengan mkl 2018.0.3. Masalah ini benar-benar melumpuhkan kemampuan saya untuk menguji dan mengembangkan Spyder di bawah Python 3.7 dan Anaconda, karena di bawah Python 3.7 saya bahkan tidak bisa menjalankan test suite secara lokal atau melakukan apa pun numpy/pandas/matplotlib/etc. terkait, yang merupakan bagian besar dari fungsionalitas Spyder, dan saya telah melakukan semua yang saya dan orang lain dapat pikirkan untuk mengesampingkan kesalahan pengguna atau masalah dengan lingkungan saya, kekurangan instalasi ulang bersih yang membutuhkan waktu berjam-jam berjam-jam waktu, upaya, dan gangguan untuk mengunduh, menginstal, dan mengatur lingkungan saya lagi dan saya berharap untuk menghindarinya jika memungkinkan.

Looking forward untuk mendengar lebih lanjut. Terima kasih!

@aperchak melaporkan contoh lain dari masalah di Gitter kami:

Saya mengalami masalah saat meluncurkan Spyder 3 - mendapatkan pesan kesalahan: "Ordinal 242 tidak dapat ditemukan di perpustakaan tautan dinamis". Saya mencari sedikit di web dan saya mengerti ini ada hubungannya dengan pembaruan baru? Aku bisa bersumpah itu berhasil beberapa hari yang lalu. Ada solusi untuk itu? Saya baru saja mengambil langkah pertama saya dengan Python.

Saya menggunakan Windows 10.0 build 17134, dan Anaconda 5.3, Python 3.7, dalam 64-bit - yang terbaru tersedia di anaconda.com/download.

Saya menginstruksikan mereka untuk menjalankan conda install numpy=1.14.3 numpy-base=1.14.3 mkl=2018.0.2 dan mereka menjawab

Saya mencoba perintah, dan meskipun Spyder sekarang memuat dan tampaknya berfungsi dengan baik, kesalahan baru telah muncul saat diluncurkan - "Titik masuk prosedur mkl_blas_dgem2vu tidak dapat ditemukan di perpustakaan tautan dinamis". Saya memang melihat beberapa string kesalahan saat mengetik "import matplotlib", yang diperlukan untuk kursus Intro to Python saya.

Ini sangat mirip dengan apa yang saya amati di atas, ketika saya menginstal 2018.0.3 bersama numpy 1.14.3 .

Halo semua. Mengatakan bahwa untuk mengatakan saya seorang pemula akan meremehkan. Saya mengunduh versi terbaru yang tersedia di anaconda.com/download (Anaconda 5.3, Python 3.7, dalam 64-bit) di PC saya, dan Spyder diluncurkan tanpa pesan kesalahan. Ini untuk membedakan instalasi pada PC yang berbeda di mana saya menerima pesan kesalahan yang dijelaskan di sini (ordinal 242 ...). Kedua versi diinstal dengan bersih, keduanya pada build Windows 10.0 17134 yang sama. Saya telah menyertakan output conda list dari versi yang berfungsi:

# Nama Versi Bangun Saluran
_ipyw_jlab_nb_ext_conf 0.1.0 py37_0
pualam 0.7.11 py37_0
anaconda 5.3.0 py37_0
anaconda-client 1.7.2 py37_0
anaconda-navigator 1.9.2 py37_0
anaconda-proyek 0.8.2 py37_0
appdirs 1.4.3 py37h28b3542_0
asn1crypto 0.24.0 py37_0
astroid 2.0.4 py37_0
astropi 3.0.4 py37hfa6e2cd_0
atomwrites 1.2.1 py37_0
attrs 18.2.0 py37h28b3542_0
otomatis 0.7.0 py37_0
babel 2.6.0 py37_0
panggilan balik 0.1.0 py37_0
backport 1.0 py37_1
backports.shutil_get_terminal_size 1.0.0 py37_2
beautifulsoup4 4.6.3 py37_0
bitarray 0.8.3 py37hfa6e2cd_0
bkcharts 0.2 py37_0
bla 1.0 mkl
nyalakan 0.11.3 py37_0
pemutih 2.1.4 py37_0
blosc 1.14.4 he51fdeb_0
bokeh 0.13.0 py37_0
boto 2.49.0 py37_0
kemacetan 1.2.1 py37h452e1ab_1
bzip2 1.0.6 hfa6e2cd_5
sertifikat-ca 2018.03.07 0
sertifikat 2018.8.24 py37_1
cffi 1.11.5 py37h74b6da3_1
chardet 3.0.4 py37_1
klik 6,7 py37_0
cloudpickle 0.5.5 py37_0
klien 1.2.2 py37_1
colorama 0.3.9 py37_0
comtypes 1.1.7 py37_0
conda 4.5.11 py37_0
conda-build 3.15.1 py37_0
conda-env 2.6.0 h36134e3_1
console_shortcut 0.1.1 3
terus-menerus 15.1.0 py37h28b3542_0
contextlib2 0.5.5 py37_0
kriptografi 2.3.1 py37h74b6da3_0
curl 7.61.0 h7602738_0
pengendara sepeda 0.10.0 py37_0
cython 0.28.5 py37h6538335_0
cytoolz 0.9.0.1 py37hfa6e2cd_1
dask 0.19.1 py37_0
dask-core 0.19.1 py37_0
bentuk data 0.5.4 py37_1
dekorator 4.3.0 py37_0
defusedxml 0.5.0 py37_1
didistribusikan 1.23.1 py37_0
dokumen 0.14 py37_0
titik masuk 0.2.3 py37_2
et_xmlfile 1.0.1 py37_0
fastcache 1.0.2 py37hfa6e2cd_2
filelock 3.0.8 py37_0
labu 1.0.2 py37_1
labu-cors 3.0.6 py37_0
tipe bebas 2.9.1 ha9979f8_1
get_terminal_size 1.0.0 h38e98db_0
gevent 1.3.6 py37hfa6e2cd_0
glob2 0,6 py37_0
hijau 0.4.15 py37hfa6e2cd_0
h5py 2.8.0 py37h3bdd7fb_2
hdf5 1.10.2 hac2f561_1
heapdict 1.0.0 py37_2
html5lib 1.0.1 py37_0
hyperlink 18.0.0 py37_0
icc_rt 2017.0.4 h97af966_0
icu 58.2 ha66f8fd_1
idna 2,7 py37_0
imageio 2.4.1 py37_0
ukuran gambar 1.1.0 py37_0
tambahan 17.5.0 py37_0
intel-openmp 2019.0 118
ipykernel 4.10.0 py37_0
ipython 6.5.0 py37_0
ipython_genutils 0.2.0 py37_0
ipywidgets 7.4.1 py37_0
isor 4.3.4 py37_0
berbahaya 0.24 py37_1
jdcal 1.4 py37_0
jedi 0.12.1 py37_0
jinja2 2.10 py37_0
jpeg 9b hb83a4c4_2
jsonschema 2.6.0 py37_0
jupyter 1.0.0 py37_7
jupyter_client 5.2.3 py37_0
jupyter_console 5.2.0 py37_1
jupyter_core 4.4.0 py37_0
jupyterlab 0.34.9 py37_0
jupyterlab_launcher 0.13.1 py37_0
gantungan kunci 13.2.1 py37_0
kiwisolver 1.0.1 py37h6538335_0
malas-objek-proxy 1.3.1 py37hfa6e2cd_2
libcurl 7.61.0 h7602738_0
libiconv 1.15 h1df5818_7
libpng 1.6.34 h79bbb47_0
libsodium 1.0.16 h9d3ae62_0
libssh2 1.8.0 hd619d38_4
libtiff 4.0.9 h36446d0_2
libxml2 2.9.8 hadb2253_1
libxslt 1.1.32 hf6f1972_0
llvmlite 0.24.0 py37h6538335_0
liontin 0.2.0 py37_1
lxml 4.2.5 py37hef2cd61_0
lzo 2.10 h6df0209_2
m2w64-gcc-libgfortran 5.3.0 6
m2w64-gcc-libs 5.3.0 7
m2w64-gcc-libs-core 5.3.0 7
m2w64-gmp 6.1.0 2
m2w64-libwinpthread-git 5.0.0.4634.697f757 2
markupsafe 1.0 py37hfa6e2cd_1
matplotlib 2.2.3 py37hd159220_0
mccabe 0.6.1 py37_1
menuinst 1.4.14 py37hfa6e2cd_0
misune 0.8.3 py37hfa6e2cd_1
mkl 2019.0 118
mkl-service 1.1.2 py37hb217b18_5
mkl_fft 1.0.4 py37h1e22a9b_1
mkl_random 1.0.1 py37h77b88f5_1
more-itertools 4.3.0 py37_0
mpmath 1.0.0 py37_2
msgpack-python 0.5.6 py37he980bc4_1
msys2-conda-epoch 20160418 1
multipledispatch 0.6.0 py37_0
navigator-updater 0.2.1 py37_0
nbconvert 5.4.0 py37_1
nbformat 4.4.0 py37_0
jaringanx 2.1 py37_0
nltk 3.3.0 py37_0
hidung 1.3.7 py37_2
buku catatan 5.6.0 py37_0
mati rasa 0.39.0 py37h830ac7b_0
numexpr 2.6.8 py37h9ef55f4_0
numpy 1.15.1 py37ha559c80_0
numpy-base 1.15.1 py37h8128ebf_0
numpydoc 0.8.0 py37_0
lakukan 0.5.1 py37_0
olefile 0.46 py37_0
openpyxl 2.5.6 py37_0
openssl 1.0.2p hfa6e2cd_0
kemasan 17.1 py37_0
panda 0.23.4 py37h830ac7b_0
pandoc 1.19.2.1 hb2460c7_1
pandocfilters 1.4.2 py37_1
parso 0.3.1 py37_0
bagian 0.3.8 py37_0
path.py 11.1.0 py37_0
pathlib2 2.3.2 py37_0
patty 0.5.0 py37_0
pep8 1.7.1 py37_0
pickleshare 0.7.4 py37_0
bantal 5.2.0 py37h08bbbbd_0
pip 10.0.1 py37_0
pkginfo 1.4.2 py37_1
pluggy 0.7.1 py37h28b3542_0
lapis 3.11 py37_0
prometheus_client 0.3.1 py37h28b3542_0
prompt_toolkit 1.0.15 py37_0
psutil 5.4.7 py37hfa6e2cd_0
py 1.6.0 py37_0
pyasn1 0.4.4 py37h28b3542_0
pyasn1-modul 0.2.2 py37_0
pycodestyle 2.4.0 py37_0
pycosat 0.6.3 py37hfa6e2cd_0
pycparser 2.18 py37_1
pycrypto 2.6.1 py37hfa6e2cd_9
pycurl 7.43.0.2 py37h74b6da3_0
pyflakes 2.0.0 py37_0
pigmen 2.2.0 py37_0
pylint 2.1.1 py37_0
pyodbc 4.0.24 py37h6538335_0
pyopenssl 18.0.0 py37_0
pyparsing 2.2.0 py37_1
pyqt 5.9.2 py37h6538335_2
pysocks 1.6.8 py37_0
pytables 3.4.4 py37he6f6034_0
pytest 3.8.0 py37_0
pytest-arraydiff 0.2 py37h39e3cac_0
pytest-astropi 0.4.0 py37_0
pytest-doctestplus 0.1.3 py37_0
pytest-openfiles 0.3.0 py37_0
pytest-remotedata 0.3.0 py37_0
python 3.7.0 hea74fb7_0
python-dateutil 2.7.3 py37_0
pytz 2018.5 py37_0
pywavelets 1.0.0 py37h452e1ab_0
pywin32 223 py37hfa6e2cd_1
pywinpty 0.5.4 py37_0
pyyaml ​​3.13 py37hfa6e2cd_0
pyzmq 17.1.2 py37hfa6e2cd_0
qt 5.9.6 vc14h1e9a669_2 [vc14]
qtawesome 0.4.4 py37_0
qtconsole 4.4.1 py37_0
qtpy 1.5.0 py37_0
permintaan 2.19.1 py37_0
tali 0.11.0 py37_0
ruamel_yaml 0.15.46 py37hfa6e2cd_0
scikit-image 0.14.0 py37h6538335_1
scikit-belajar 0.19.2 py37heebcf9a_0
scipy 1.1.0 py37h4f6bf74_1
seaborn 0.9.0 py37_0
send2trash 1.5.0 py37_0
service_identity 17.0.0 py37h28b3542_0
setuptools 40.2.0 py37_0
simplegeneric 0.8.1 py37_2
singledispatch 3.4.0.3 py37_0
menyesap 4.19.8 py37h6538335_0
enam 1.11.0 py37_1
tajam 1.1.7 h777316e_3
snowballstemmer 1.2.1 py37_0
koleksi terurut 1.0.1 py37_0
sortir container 2.0.5 py37_0
sphinx 1.7.9 py37_0
sphinxcontrib 1.0 py37_1
sphinxcontrib-websupport 1.1.0 py37_1
spyder 3.3.1 py37_1
spyder-kernel 0.2.6 py37_0
sqlalchemy 1.2.11 py37hfa6e2cd_0
sqlite 3.24.0 h7602738_0
statsmodels 0.9.0 py37h452e1ab_0
simpy 1.1.1 py37_0
tblib 1.3.2 py37_0
terminal 0.8.1 py37_1
jalur uji 0.3.1 py37_0
tk 8.6.8 hfa6e2cd_0
toolz 0.9.0 py37_0
tornado 5.1 py37hfa6e2cd_0
tqdm 4.26.0 py37h28b3542_0
sifat kecil 4.3.2 py37_0
memutar 18.7.0 py37hfa6e2cd_1
unicodecsv 0.14.1 py37_0
urllib3 1.23 py37_0
vc 14.1 h0510ff6_4
vs2015_runtime 14.15.26706 h3a45250_0
wcwidth 0.1.7 py37_0
pengkodean web 0.5.1 py37_1
werkzeug 0.14.1 py37_0
roda 0.31.1 py37_0
widgetsnbextension 3.4.1 py37_0
win_inet_pton 1.0.1 py37_1
win_unicode_console 0,5 py37_0
wincertstore 0.2 py37_0
winpty 0.4.3 4
bungkus 1.10.11 py37hfa6e2cd_2
xlrd 1.1.0 py37_1
xlsxwriter 1.1.0 py37_0
xlwings 0.11.8 py37_0
xlwt 1.3.0 py37_0
yaml 0.1.7 hc54c509_2
zeromq 4.2.5 he025d50_1
zict 0.1.3 py37_0
zlib 1.2.11 h8395fce_2
zope 1.0 py37_1
zope.interface 4.5.0 py37hfa6e2cd_0

Apakah ada cara saya bisa membantu dalam memberikan info dari versi kerja? Kedua Anaconda diinstal dengan bersih, dari tautan langsung, dan tidak melibatkan langkah-langkah antara saat pengunduhan hingga saat peluncuran Spyder. Di satu PC Spyder berfungsi, di Spyder lain muncul pesan kesalahan 'ordinal 242' dan gagal diluncurkan. Terima kasih.

Apakah Anda memiliki aplikasi, driver, utilitas, dll. (non-Metro UI) yang diinstal pada satu mesin dan bukan yang lain? Ada kemungkinan bahwa dll dapat bertentangan. Secara khusus, program "Amplitube" dilaporkan telah menyebabkan ini berakhir pada masalah Anaconda, ContinuumIO/anaconda-issues#8561 .

Juga, harap kirimkan tangkapan layar atau pesan kesalahan lengkap yang tepat, dan output dari where mkl_core.dll dan where mkl_intel_thread di lingkungan tempat Anda mencoba menjalankan Spyder (mis base secara default, jika Anda menjalankannya dari pintasan).

Selanjutnya, Anda dapat mencoba yang berikut ini:

  • Mem-boot ulang mesin Anda (jika Anda belum melakukannya sejak Anda menginstal Anaconda)
  • Jalankan conda install vs2013_runtime
  • Pastikan Anda masih menggunakan versi nominal dari segalanya untuk anaconda: conda install anaconda=5.3
  • Turunkan Python ke 3.6: conda install python=3.6
  • Buat lingkungan baru yang bersih: conda create -n spyder-test-env python=3 , activate it, lalu instal Spyder dengan conda install spyder .
  • Menghapus dan menginstal ulang Anaconda

@aperchak memberi tahu kami bahwa mereka memang memiliki "Amplitude" yang diinstal pada mesin yang dicurigai, jadi hampir pasti itu untuk kasus mereka per ContinuumIO/anaconda-issues#8561 .

Amplitudo tua yang bagus! Kita harus mencari cara untuk mengatasi ini..

Saya mencoba melaporkan ini ke ik multimedia, tetapi mereka hanya menawarkan solusi. Saya ingin mereka mengubah instalasi mereka.

Dapatkan Outlook untuk Android https://aka.ms/ghei36


Dari: Ray Donnelly [email protected]
Dikirim: Rabu, 24 Oktober 2018 19:36:18
Kepada: spyder-ide/spyder
Cc: bigcatz; Komentar
Perihal: Re: [spyder-ide/spyder] Bersihkan conda Windows install, diikuti oleh 'conda update --all' menghasilkan mkl dll yang salah digunakan untuk Spyder (#7357)

Amplitudo tua yang bagus! Kita harus mencari cara untuk mengatasi ini..


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/spyder-ide/spyder/issues/7357#issuecomment-432873588 , atau nonaktifkan utas https://github.com/notifications/unsubscribe-auth/ Am2qUzAlfuFGyj8-cv-zX64iAkUT1pTsks5uoQeCgaJpZM4U5AJU .

mereka hanya menawarkan pekerjaan di sekitar.

Apa yang mereka sarankan?

@mingwandroid Memang; terima kasih atas perhatian Anda untuk masalah ini. Sayangnya, untuk kasus saya sendiri dan pengguna lain di utas Anaconda, Amplitude tidak diinstal dan pada kenyataannya pencarian mengungkapkan tidak ada file dengan mkl dalam nama di mana saja di dalam seluruh direktori Windows ; where tidak dapat menemukan mkl -dll terkait lainnya di jalur saya, ini dapat direproduksi di beberapa lingkungan bersih (termasuk base , dan di lingkungan dengan versi yang sama dari semuanya) dan selama pengujian ekstensif, dan saya telah mencoba semua yang disarankan sebelum instal ulang lengkap tanpa ada yang memperbaikinya, selain prosedur yang dijelaskan di atas (menurunkan versi numpy, mkl, dll)—dan bahkan itu baru sekarang tampaknya berfungsi pada Python 3.6 , bukan 3.7 karena paket tidak tersedia.

Jadi ya, Amplitudo pasti pelakunya di sini juga karena saya mencopot perangkat lunak dan kesalahannya hilang.
Saya bahkan menginstal ulang Amplitudo setelahnya dan pesan kesalahan muncul lagi. Kesalahan yang dikatakan:

errorbfr

Sesuai permintaan, saya menjalankan perintah where sebelum mencopot pemasangan Ampltiude dan sesudahnya.
Dengan Amplitudo:
bframp
Tanpa Amplitudo:
aftamp

Tampaknya ada duplikasi file dengan Amplitude terinstal, tetapi saya akan menyerahkannya kepada Anda para ahli untuk menguraikan apa itu semua.

Terima kasih untuk bantuannya.

Halo semuanya, saya terus mengalami masalah yang sama persis setelah menginstal Anaconda 3 di mesin Windows 10 lama saya. Sudah mencoba semuanya tetapi terus mendapatkan "Ordinal 242 tidak ditemukan di DLL []", segera setelah saya mencoba menjalankan kode apa pun yang mengimpor numpy di notebook jupyter saya.

error message

Saya sudah mencoba perintah where yang disebutkan di atas untuk melihat di mana mkl_core.dll dan mkl_intel_thread.dll saya berada dan mendapatkan ini:

where_files

Bantuan apa pun akan sangat dihargai karena saya benar-benar harus dapat mengimpor numpy untuk kursus yang sedang saya ambil! Terima kasih banyak atas bantuannya.

@janm97 Apakah Anda mencoba conda install mkl=2018.0.2 ?

@CAM-Gerlach Terima kasih banyak! Itu memperbaikinya.

Kami telah berbicara dengan Intel tentang masalah ini. Mereka mengatakan bahwa ada beberapa perubahan mundur yang tidak kompatibel di mkl 2019. Kami telah beroperasi dengan asumsi bahwa perangkat lunak yang dibangun melawan 2018 akan berfungsi dengan 2019, tetapi itu belum tentu benar. Kami akan membangun kembali paket sehingga kendala lebih akurat, dan perangkat lunak lengkap yang dibangun dengan mkl 2019 tersedia.

Bagaimana ini bisa melalui pengujian? Bisakah kita mengetahuinya?

Kami akan membangun kembali paket sehingga kendala lebih akurat, dan perangkat lunak lengkap yang dibangun dengan mkl 2019 tersedia.

Berita bagus Mik!! Terima kasih atas tindak lanjutnya.

@mingwandroid Saya percaya itu berhasil melalui pengujian karena seperti yang dijelaskan @luciansmith , penginstalnya sendiri baik-baik saja. Ini adalah perangkat yang konsisten. Entah bagaimana memperbarui membawa beberapa perangkat lunak lain yang mungkin dibangun melawan mkl 2018, dan itu memicu masalah. Saya tidak yakin persis mengapa pembaruan akan menggunakan MKL yang lebih lama, tetapi saya akan mencoba mereproduksi.

Terima kasih banyak @marahan ! Saya sangat menghargai itu! Beri tahu saya jika Anda membutuhkan lebih banyak data pengujian dari saya.

@janm97 Apakah Anda mencoba conda install mkl=2018.0.2 ?

Ini memperbaiki masalah saya. Terima kasih.

Saya mempunyai masalah yang sama. Baru saja melakukan instalasi baru Anaconda 3.7, kemudian mencoba menginstal spyder dari Anaconda Navigator dan mendapatkan kesalahan yang disebutkan di atas. Saya mencoba menggunakan "Conda install mkl=2018.0.2" yang disebutkan di atas dan mendapatkan kesalahan berikut:

(dasar) C:\Users\Rodrigo>conda install mkl=2018.0.2
Memecahkan lingkungan: gagal

UnsatisfiableError: Spesifikasi berikut ditemukan bertentangan:

  • mkl=2018.0.2
  • numpy-base
  • python=3.7
    Gunakan "conda info" untuk melihat dependensi untuk setiap paket.

Spyder sudah diinstal sebelumnya dengan Anaconda dan oleh karena itu tidak perlu diinstal. Apakah Anda menggunakan Minicoda di sini?

Tidak, saya menggunakan Anaconda lengkap. Saya mohon maaf, kesalahan terjadi ketika Anda mengklik luncurkan di Anaconda Navigator untuk menjalankan spyder.
image

mendapat kesalahan yang disebutkan di atas.

Seperti yang Anda lihat dari pesan kesalahan Anda, ini bukan kesalahan yang sama persis, karena DLL yang disebutkan berbeda. Posting output penuh dari where libiomp5md.dll run di Anaconda Prompt di sini; ada kemungkinan bahwa itu karena DLL program lain yang bertentangan dengan yang ditunjukkan daripada apa pun yang berkaitan dengan mkl itu sendiri.

UnsatisfiableError: Spesifikasi berikut ditemukan bertentangan:

Ini karena mkl < 2018.0.3 tidak dibuat untuk Python 3.7. Anda dapat mencoba saran di atas untuk memperbaiki masalah root, dan jika itu tidak berhasil lakukan conda install python=3.6 mkl=2018.0.2 meskipun Anda akan terjebak pada Python 3.6 hingga masalah root (baik dengan mkl atau dengan sistem Anda, mana saja yang kasus di sini) diperbaiki.

Anda klik luncurkan di Anaconda Navigator untuk menjalankan spyder.

FYI, AFAIK tidak ada keuntungan untuk meluncurkan Spyder melalui metode ini, karena jauh lebih cepat untuk hanya meluncurkannya melalui pintasan menu Start di Windows seperti dengan aplikasi lain (cukup ketuk Win dan mulai mengetik spyder ) daripada melalui lapisan kerumitan ekstra yang ditimbulkan Navigator serta potensi kesalahan dan masalah tambahan, kecuali jika Anda perlu meluncurkannya di lingkungan tertentu dan tidak ingin menggunakan Anaconda Prompt untuk itu.

Berikut adalah output dari perintah were di Anaconda prompt:

(basis) C:\Users\Rodrigo>di mana libiomp5md.dll
C:\Users\Rodrigo\Anaconda3\Library\bin\libiomp5md.dll
C:Windows\System32\libiomp5md.dll

Menjalankan spider langsung dari windows (di luar Navigator) menghasilkan kesalahan yang sama.

Akankah menjalankan "Conda install python=3.6 mkl=2018.0.2" menggantikan instalasi 3.7 saat ini atau membuat lingkungan baru? Saya ingin menghindari banyak lingkungan dan akan baik-baik saja dengan hanya memiliki 3.6 di mesin saya.

Terima kasih atas bantuannya, omong-omong! :)

Berikut adalah output dari perintah were di Anaconda prompt:

Terima kasih. Seperti yang Anda lihat, program lain di mesin Anda telah menginstal DLL dengan nama yang sama langsung di direktori System32 , yang merupakan praktik yang sangat buruk dan resep untuk semua jenis masalah. Saya tidak yakin program apa itu, tetapi ada berbagai cara untuk mengetahuinya. Bagaimanapun, tidak ada yang bisa kita lakukan tentang ini di pihak kita; ini perlu diperbaiki pada mesin Anda dengan menghapus instalan program lain yang menyinggung, menghapus DLL (dan melihat apa yang rusak), dll.

Akankah menjalankan "Conda install python=3.6 mkl=2018.0.2" menggantikan instalasi 3.7 saat ini atau membuat lingkungan baru?

Ini akan mengubah lingkungan default saat ini ( base ).

Saya tidak yakin program apa itu, tetapi ada berbagai cara untuk mengetahuinya.

Saya berani bertaruh bahwa program yang dimaksud disebut Amplitube. Saya telah mencoba menghubungi pengembang perangkat lunak ini untuk meminta mereka tidak melakukan tindakan mengerikan ini tetapi tidak mendapatkan tanggapan apa pun dari mereka. Saya mungkin harus memperbarui upaya saya. Idealnya izin redistribusi MKL akan melarang ini!

https://mobile.twitter.com/_tmp_account/status/1083817363047370754

Tolong bantu untuk menyebarkan ini jika Anda bisa!

Saya berani bertaruh bahwa program yang dimaksud disebut Amplitube.

Saya pikir DLL bermasalah dengan Amplitube adalah mkl_intel_core , mkl_intel_thread dan mkl_def jadi saya tidak yakin apakah ada yang lain, tapi saya rasa begitu jika menggunakan semua mkl.

Idealnya izin redistribusi MKL akan melarang ini!

Sudahkah Anda mempertimbangkan untuk menyebutkannya ke kontak Intel Anda sejak saat itu?

Kita punya. Kami mencoba mencari tahu trik memuat DLL yang akan mencegah masalah. Kami juga akan menjelajahi manifes aplikasi, tetapi itu sulit dilakukan dengan benar - Anda harus membuat ulang seluruh manifes untuk semua perpustakaan dalam env setiap kali salah satu dari mereka diperbarui.

Oke, bagus—terima kasih atas pembaruannya @marahan . Sementara itu, setiap kemajuan mencari tahu apa yang terjadi dalam kasus seperti saya di mana tidak ada DLL yang saling bertentangan di System32 (atau di mana pun di jalur where ) yang dapat menyebabkan masalah? Ada lagi yang kamu ingin aku coba? Terima kasih!

Saya memiliki instalasi Anaconda (2018.12) baru di Windows 10 dengan masalah ini, dan saya tidak menginstal Amplitube (tidak pernah mendengarnya). Perbaikan untuk saya adalah menemukan libiomp5md.dll di folder system32 saya dan mengganti namanya. Tidak tahu program mana yang menggunakannya, tapi mudah-mudahan saya tidak perlu mencari tahu. Jika tidak, cukup kembali ke mkl 2018.0.2 dan python 3.6 tidak sepenuhnya membantu (saya setidaknya bisa mengimpor numpy, tetapi fungsi tertentu masih menyebabkan kesalahan saat memuat).

Saya memiliki instalasi Anaconda (2018.12) baru di Windows 10 dengan masalah ini, dan saya tidak menginstal Amplitube (tidak pernah mendengarnya). Perbaikan untuk saya adalah menemukan libiomp5md.dll di folder system32 saya dan mengganti namanya. Tidak tahu program mana yang menggunakannya, tapi mudah-mudahan saya tidak perlu mencari tahu. Jika tidak, cukup kembali ke mkl 2018.0.2 dan python 3.6 tidak sepenuhnya membantu (saya setidaknya bisa mengimpor numpy, tetapi fungsi tertentu masih menyebabkan kesalahan saat memuat).

Saya memiliki masalah yang sama "missing ordinal 242 in Anaconda3\Library\binmkl_intel_thread.dll" dan mengganti nama file libiomp5md.dll di folder system32 telah memperbaikinya!

@CAM-Gerlach maaf, saya tidak punya apa-apa. DLL lain yang kami lihat menyebabkan masalah ini adalah runtime openmp, libiomp5md.dll

Oke, terima kasih @marahan . Saya kira saya harus melakukan instal ulang Anaconda yang bersih dan penuh; Saya baru saja menundanya karena saya tidak ingin harus membuat ulang semua lingkungan saya dan semacamnya.

Saya benar-benar tidak berpikir itu akan membantu. Saya pikir konfliknya adalah dengan perangkat lunak lain di sistem Anda. Menginstal ulang Anaconda tidak akan memperbaiki konflik tersebut.

Kudus s%%t! Amplitube dihapus dan perpustakaan Python tiba-tiba berfungsi !!!!!! Terima kasih!!!!! Mengganggu saya sepanjang bulan.

"pesan tentang ordinal 242 yang hilang di Anaconda3\Library\binmkl_intel_thread.dll"

Dikonfirmasi dengan Anaconda Python 3 64-bit terbaru dari www.anaconda.com/download/ :

Saya punya cara bagaimana mereplikasi masalah ini (dengan Anaconda Python di PATH saya), cukup buka cmd dan

C:\Users\sobriety>python
Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import matplotlib.pyplot as plt
>>> plt.show()
>>> plt.plot([])
[<matplotlib.lines.Line2D object at 0x000001BD881038D0>]
>>> plt.show()

Dan kami mendapatkan "ordinal 242 yang hilang di Anaconda3\Library\binmkl_intel_thread.dll".

Tidak terlihat seperti masalah libiomp5md.dll:

C:\Users\sobriety>where libiomp5md.dll
C:\Users\sobriety\AppData\Local\Continuum\anaconda3\Library\bin\libiomp5md.dll

Tidak ada amplitube:

C:\Users\sobriety>conda remove amplitube
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - amplitube

Ini telah memperbaiki masalah:

Conda install python=3.6 mkl=2018.0.2

@ChaoticRoman Amplitube bukan paket Anaconda, jadi secara alami tidak akan dihapus oleh conda remove amplitube . Itu perlu diperiksa untuk dihapus melalui Programs and Features .

Tidak terlihat seperti masalah libiomp5md.dll:

Tidak, karena kesalahan yang Anda dapatkan adalah

ordinal 242 hilang di Anaconda3\Library\binmkl_intel_thread.dll

Oleh karena itu, Anda harus memeriksa where mkl_core.dll dan where mkl_intel_thread.dll dan memposting hasilnya.

Juga, periksa daftar Programs and Features Anda untuk Amplitube, atau aplikasi lain yang dilaporkan di sini. Terima kasih.

Terima kasih atas balasan cepatnya, CAM-Gerlach!

Oleh karena itu, Anda harus memeriksa where mkl_core.dll dan where mkl_intel_thread.dll dan memposting hasilnya.

Sekarang, setelah Conda install python=3.6 mkl=2018.0.2 , ada

C:\Users\sobriety>where mkl_core.dll
C:\Users\sobriety\AppData\Local\Continuum\anaconda3\Library\bin\mkl_core.dll

C:\Users\sobriety>where mkl_intel_thread.dll
C:\Users\sobriety\AppData\Local\Continuum\anaconda3\Library\bin\mkl_intel_thread.dll

Haruskah saya mengembalikan dan mencobanya lagi dengan bit yang gagal?

Juga, periksa daftar Programs and Features Anda untuk Amplitube, atau aplikasi lain yang dilaporkan di sini. Terima kasih.

Tidak ada program yang dibahas, ini adalah instalasi Windows 10 Pro x64 yang bersih dan hanya ini yang telah diinstal:

  1. Instal Anaconda Python 3 64-bit terbaru

    • https://www.anaconda.com/download/

    • Selama instalasi, tambahkan Anaconda ke variabel lingkungan PATH dan

      daftarkan sebagai Python default

  2. Instal Driver DAQNavi terbaru untuk USB-4716

    • https://support.advantech.com/support/DownloadSRDetail_New.aspx?SR_ID=1-FCIIF6&Doc_Source=Download

  3. Instal Multimeter Advantech terbaru

    • https://support.advantech.com/support/DownloadSRDetail_New.aspx?SR_ID=1-FO7FQ3&Doc_Source=Download

    • Ini tidak sepenuhnya diperlukan tetapi sangat berguna untuk pemecahan masalah

    • Hubungkan dan uji USB-4716 Anda dengan Advantech Multimeter

  4. Instal emulator Port COM Virtual dan buat dua pasangan port COM virtual

    • https://sourceforge.net/projects/com0com/files/latest/download

    • COM3/COM4 dan COM5/COM6 (hindari nama bergaya CNCA#)

    • Centang kotak "gunakan kelas Port" untuk kedua port

  5. Instal Mercury RT Dream Edition x64 menggunakan penginstal yang disediakan.
  6. Instal driver kamera IDS.

Terima kasih atas balasan detailnya, @ChaoticRoman . Itu agak membingungkan, memang. Bisakah Anda membuka prompt Anaconda dari Start Menu, menjalankan perintah di atas dengan Python, dan memastikan Anda masih melihat kesalahannya?

Dengan asumsi Anda melakukannya, dapatkah Anda memposting output echo %PATH% dari Anaconda Prompt di lingkungan tempat Anda menjalankan perintah di atas dan mendapatkan kesalahan (mungkin base secara default)?

Ide dasarnya adalah Anda kemudian ingin mencari direktori mana pun yang diidentifikasi pada %PATH% yang tidak terkait dengan Anaconda untuk .dll yang berisi string omp atau mkl dan laporkan hasilnya. Saya pikir saya benar-benar menemukan pelakunya di instalasi saya, meskipun perintah itu kembali bersih. Terima kasih!

@mingwandroid @marahan Saya akhirnya mengisolasi dan menyelesaikan masalah di mesin saya; itu adalah laporan yang melibatkan OpenMP yang memberi saya petunjuk.

Untuk mempersingkat cerita, saya menemukan sejumlah contoh DLL terkait OpenMP di beberapa tempat berbeda di %PATH% saya, dan setelah banyak pengujian, salah satunya ternyata menjadi pelakunya: C:\Windows\System32\libiomp5md.dll , meskipun tidak dirujuk dalam pesan kesalahan. Semuanya bekerja dengan baik sekarang.

Jadi, saya tidak dapat memastikan karena saya telah mencopotnya bertahun-tahun yang lalu, tetapi beberapa penyelidikan mengungkapkan bahwa GoPro Studio (setidaknya versi yang lebih lama) tampaknya merupakan kemungkinan penyebab asli di sini yang harus diperiksa orang. Juga, cukup menarik, Intel Visual Fortran Redistributables pada IA-32 (disertakan dengan aplikasi ilmiah berpemilik, tidak yakin yang mana) juga menyertakan DLL-nya di lokasi umum yang ditempatkan pada %PATH% ; meskipun tampaknya tidak memicu masalah khusus ini, ia memiliki lusinan DLL yang semuanya sama dengan yang ada di Library/bin/ , karena Anaconda tidak diragukan lagi menggunakan pustaka bersama Intel yang sama untuk MKL/OpenMP/dll.

Juga, FYI @ChaoticRoman Anda harus dapat memicu kesalahan hanya dengan menjalankan

import matplotlib.pyplot as plt
plt.plot([])

Jalur lain tidak diperlukan, setidaknya bagi saya.

Inilah "cerita panjang" yang merinci secara spesifik dari apa yang saya temukan, bagi siapa pun (yang sangat penasaran) ...

Untuk lingkungan kerja yang berhasil dengan mkl 2018.0.2 dan Python 3.6.7 pada Windows 8.1 x64 dan daftar singkat berikut dari versi paket yang mungkin relevan:

blas                      1.0                         mkl
icc_rt                    2017.0.4             h97af966_0
intel-openmp              2018.0.0                      8
matplotlib                3.0.2            py36hc8f65d3_0
mkl                       2018.0.2                      1
mkl-service               1.1.2            py36hb217b18_4
mkl_fft                   1.0.1            py36h452e1ab_0
mkl_random                1.0.1            py36h9258bd6_0
mpmath                    1.0.0                    py36_2
numpy                     1.14.3           py36h9fa60d3_1
numpy-base                1.14.3           py36h555522e_1
python                    3.6.7                h33f27b4_1
vc                        14.1                 h0510ff6_3
vs2013_runtime            12.0.21005                    1
vs2015_runtime            15.5.2                        3

...Menjalankan ``di mana libiomp5md.dll'' kembali (nomor versi setiap DLL dalam tanda kurung):

[5.0.2017.525]  C:\Anaconda3\envs\spyder-4-lsp\Library\bin\libiomp5md.dll
[5.0.2017.525]  C:\Anaconda3\Library\bin\libiomp5md.dll
[5.0.2014.710]  C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler\libiomp5md.dll  # Evidently installed by Intel Visual Fortran Redistributables on IA-32, which was in turn installed by a proprietary scientific-related package (unsure which)
[5.0.2009.811]  C:\Windows\System32\libiomp5md.dll  # Most likely related to the long-removed GoPro Studio video software, which I installed to get access to the CineForm professional codec, given I installed it around this time and it has a known issue with putting this DLL in System32

where vcomp140.dll (VS2015) kembali

[14.14.26405.0]  C:\Anaconda3\envs\spyder-4-lsp\vcomp140.dll
[14.14.26405.0]  C:\Anaconda3\envs\spyder-4-lsp\Library\bin\vcomp140.dll
[14.14.26405.0]  C:\Anaconda3\vcomp140.dll
[14.14.26405.0]  C:\Anaconda3\Library\bin\vcomp140.dll
[14.16.27012.6]  C:\Windows\System32\vcomp140.dll  # Installed by Visual Studio build tools which I installed as instructed to build Python C extensions; well after this problem first appeared

dan where vcomp120.dll (VS2013) kembali

[12.0.21005.1]  C:\Anaconda3\envs\spyder-4-lsp\vcomp120.dll
[12.0.21005.1]  C:\Anaconda3\envs\spyder-4-lsp\Library\bin\vcomp120.dll
[12.0.21005.1]  C:\Program Files\ImageMagick-7.0.8-Q16\vcomp120.dll  # Installed with ImageMagick and added to PATH more recently than problem first appeared
[12.0.21005.1]  C:\Windows\System32\vcomp120.dll  # Possibly related to GoPro Studio or other such video encoding software installed around this time and long since removed

Mencari semua proses dengan Process Explorer untuk penggunaan DLL yang menyertakan string omp hanya mengembalikan prosesi Python menggunakan versi Anaconda, jadi tampaknya tidak ada yang terlalu penting menggunakan DLL lain di jalur saat ini.

Dari sini, jika saya menjalankan conda update mkl , yang menghasilkan mkl 2019.1 (144), Conda ingin menurunkan numpy ke 1.14.2 (dari 1.14.3) sambil meningkatkan numpy-base hingga 1.15.4 (juga dari 1.14.3) (Saya tidak benar-benar menjalankan perubahan);

  environment location: C:\Anaconda3\envs\spyder-4-lsp

  added / updated specs:
    - mkl


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    numpy-1.14.2               |   py36h5c71026_0         3.7 MB
    numpy-base-1.15.4          |   py36hc3f5095_0         3.9 MB
    mkl-2019.1                 |              144       158.3 MB
    scipy-1.1.0                |   py36h29ff71c_2        13.3 MB
    mkl-service-1.1.2          |   py36hb782905_5         134 KB
    ------------------------------------------------------------
                                           Total:       179.4 MB

The following packages will be UPDATED:

    icc_rt:      2017.0.4-h97af966_0   --> 2019.0.0-h0cc432a_1
    mkl:         2018.0.2-1            --> 2019.1-144
    mkl-service: 1.1.2-py36hb217b18_4  --> 1.1.2-py36hb782905_5
    numpy-base:  1.14.3-py36h555522e_1 --> 1.15.4-py36hc3f5095_0
    scipy:       1.1.0-py36h672f292_0  --> 1.1.0-py36h29ff71c_2

The following packages will be DOWNGRADED:

    numpy:       1.14.3-py36h9fa60d3_1 --> 1.14.2-py36h5c71026_0

conda update numpy numpy-base menyatakan # All requested packages already installed. dan conda install numpy=1.15.4 menghabiskan sekitar 5-10 menit Solving environment dan akhirnya meludah

UnsatisfiableError: The following specifications were found to be in conflict:
  - mkl_fft=1.0.1
  - numpy=1.15 -> mkl_fft[version='>=1.0.4']

Jadi saya mengeksekusi conda install mkl_fft=1.0.4 , yang juga menginstal mkl 2018.0.3 dan tidak ada yang lain:

  environment location: C:\Anaconda3\envs\spyder-4-lsp

  added / updated specs:
    - mkl_fft=1.0.4


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    mkl_fft-1.0.4              |   py36h1e22a9b_1         120 KB
    mkl-2018.0.3               |                1       178.1 MB
    ------------------------------------------------------------
                                           Total:       178.2 MB

The following packages will be UPDATED:

    mkl:     2018.0.2-1           --> 2018.0.3-1
    mkl_fft: 1.0.1-py36h452e1ab_0 --> 1.0.4-py36h1e22a9b_1

Saya sekarang dapat mereproduksi kesalahan (Ordinal 241/ mkl_intel_thread.dll ) di juru bahasa Python hanya dengan menjalankan

import matplotlib.pyplot as plt
plt.plot([])

Saya memeriksa dan tidak ada versi atau file DLL yang disebutkan di atas yang dimodifikasi, hanya yang MKL.

Setelah menguji mengubah nama berbagai DLL non-Anaconda, saya menemukan pelakunya: C:\Windows\System32\libiomp5md.dll . Saya tidak bisa 100% yakin karena saya telah menghapus aplikasi itu sendiri bertahun-tahun yang lalu, tetapi saya sangat curiga itu diinstal oleh GoPro Studio, aplikasi pengeditan/encoding video gratis yang pernah saya butuhkan untuk mendapatkan akses ke Cineform mereka codec perantara video profesional. Tanggal yang dibuat/dimodifikasi dan terakhir diakses kira-kira cocok dengan ketika saya menginstal dan menggunakannya, dan memiliki masalah yang diketahui dengan menginstal DLL khusus ini di direktori System32 dan menyebabkan konflik dengan aplikasi terkait video lainnya.

Ya, aplikasi lain di PATH tidak akan mengganggu Anaconda Prompt, karena Anaconda Prompt menempatkan entri kita di depan. Melakukan itu akan terlalu mengganggu sebagai modifikasi global untuk PATH - itu sebabnya kami merekomendasikan Anaconda Prompt. Menjalankan pintasan menu mulai kami yang lain melakukan hal serupa.

System32 memiliki prioritas lebih tinggi daripada apa pun di PATH (https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-search-order#standard-search-order-for-desktop- aplikasi). Tidak masalah apa yang kami coba lakukan dengan PATH jika pihak ketiga telah memasukkan DLL ke System32. Manifes mungkin masih membantu kita jika kita bisa mengetahuinya suatu hari nanti.

Terima kasih atas kesabaran Anda, @CAM-Gerlach

[...] buka prompt Anaconda dari Start Menu, jalankan perintah di atas dengan Python, dan pastikan Anda masih melihat kesalahannya?

Semuanya baik-baik saja setelah Conda install python=3.6 mkl=2018.0.2 .

Dengan asumsi Anda melakukannya, dapatkah Anda memposting output echo %PATH% dari Anaconda Prompt di lingkungan tempat Anda menjalankan perintah di atas dan mendapatkan kesalahan (mungkin base secara default)?

Oke, hapus instalan Anaconda dan instal lagi. Saya telah menemukan bahwa kami memiliki crash ini di skrip aplikasi saya tetapi tidak ketika mencoba replikasi normal. Tetapi saya telah menemukan bahwa jika direktori kerja adalah suatu tempat, di mana kita memiliki skrip-skrip ini, itu macet:

C:\Program Files\MercuryRT-v2.7DE>python
Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

C:\Program Files\MercuryRT-v2.7DE>

[...] semua .dll yang berisi string omp atau mkl dan laporkan hasilnya. Saya pikir saya benar-benar menemukan pelakunya di instalasi saya, meskipun perintah itu kembali bersih. Terima kasih!

C:\Program Files\MercuryRT-v2.7DE>dir *omp*.dll *mkl*.dll
 Volume in drive C has no label.
 Volume Serial Number is A432-6ABC

 Directory of C:\Program Files\MercuryRT-v2.7DE

08.10.2018  12:55           885 096 libiomp5md.dll
08.10.2018  12:56           176 512 vcomp140.dll
20.07.2018  11:01           152 064 vtkCommonComputationalGeometry-8.1.dll

Jadi ini tampaknya menjadi masalah sebenarnya, bukan Anaconda itu sendiri, tetapi menjalankan skrip kami dari lokasi yang buruk.

Semuanya baik-baik saja setelah conda install python=3.6 mkl=2018.0.2 .

Maaf, apa yang saya katakan sangat membingungkan. Yang saya maksud adalah beralih kembali ke versi mkl saat ini dan menjalankan perintah

import matplotlib.pyplot as plt
plt.plot([])

dari Anaconda Prompt, bukan baris perintah biasa, untuk berjaga-jaga jika ada masalah dengan %PATH% Anda yang akan dihindari oleh yang terakhir. Namun, itu poin yang diperdebatkan sekarang.

dapatkah Anda memposting output dari echo %PATH% dari Anaconda Prompt

Oke, hapus instalan Anaconda dan instal lagi.

Maaf apa? Bagaimana "posting output dari echo %PATH% " ditafsirkan sebagai "instal ulang Anaconda? Seperti yang dikatakan @marahan tentang kasus saya, ini tidak akan memperbaiki masalah jika itu adalah konflik, seperti yang mungkin terjadi (dan sebenarnya adalah).

Jadi ini tampaknya menjadi masalah sebenarnya, bukan Anaconda itu sendiri, tetapi menjalankan skrip kami dari lokasi yang buruk.

Ya. Masalahnya adalah bahwa urutan jalur pencarian DLL akan selalu mencari direktori saat ini sebelum PATH , sehingga akan menemukan DLL tersebut alih-alih yang Anaconda yang benar. Untuk mengatasi ini, pastikan untuk tidak menjalankan skrip Anda dari direktori yang sama dengan DLL yang bertentangan tersebut, atau Anda kemungkinan akan mengalami lebih banyak masalah di masa mendatang.

Ya, dan solusi terakhir adalah menemukan cara untuk mengatasi masalah dengan urutan pencarian, seperti file manifes yang menentukan versi tertentu, sehingga yang diinstal secara global tidak akan digunakan jika tidak kompatibel.

Ya, saya bertanya-tanya apakah ada cara untuk memeriksa string versi dari DLL pertama yang ditemukan dan beralih ke yang berikutnya jika tidak cocok dengan apa yang dikompilasi oleh paket. Tapi saya pikir itu Microsoft jadi tidak semudah itu, heh.

@CAM-Gerlach, kami (Anaconda) memiliki solusi potensial untuk urutan pencarian Windows DLL. Itu ada di python terbaru kami yang dibangun di saluran c3i_test2 anaconda.org:

python 2.7.15 membangun 7
3.6.8 membangun 1
3.7.2 membangun 1

Coba perbarui python menggunakan saluran c3i_test2:

pembaruan conda python -c c3i_test2

Mereka adalah Ray baru yang hebat!! Bagaimana Anda berhasil melakukannya?

Mike mengalahkan saya untuk itu. Menariknya, numpy telah mengadopsi pendekatan yang sangat mirip tetapi mundur dari melakukannya.

Yang pasti itu adalah opsi nuklir, tetapi ide lain yang saya miliki jauh lebih buruk (pengait DLL dari kernel32.dll - jika itu mungkin saat ini, dan jika ya, jika itu tetap mungkin di masa depan, dan ada juga pertanyaan besar, apakah pemindai virus akan mengklasifikasikan ini sebagai virus atau tidak).

Terima kasih Mike!! Ini terlihat sangat menarik!

Jadi apa yang sebenarnya Anda coba lakukan? Menempatkan dir Library Anaconda di depan jalur pencarian DLL?

Kami mengubah urutan pencarian DLL dari:

dirname(exe_path)
C:\Windows\System32
PATH

.. ke ..

dirname(exe_path)
PATH (which usually ends with C:\Windows\System32 anyway)

@mingwandroid @marahan Terima kasih banyak! Saya mengujinya dengan menghapus ekstensi .bak yang saya tambahkan ke DLL yang menyinggung, memastikan kesalahan dipicu dengan Python saat ini (3.6.7), dan kemudian memutakhirkan ke versi 3.6.8 dari saluran itu. Memang, tidak ada kesalahan yang terjadi ketika mencoba prosedur sederhana yang disebutkan di atas dari konsol Python standar yang sebelumnya memproduksinya, atau meluncurkan dan menjalankan perintah numpy/matplotlib dari Spyder.

BTW, saya mendapat kesalahan conda ketika mencoba untuk mengalihkan Python kembali ke versi defaults , tapi saya curiga ini tidak terkait karena itu terjadi beberapa kali baru-baru ini setelah membalik versi paket. (Sejauh yang saya tahu, saya telah menutup Spyder dan semua proses Python di lingkungan itu terlebih dahulu, dan memastikan tidak ada direktori terkait Anaconda yang dibuka di pengelola file saya, memutakhirkan ke versi conda terbaru tidak menyelesaikannya baik, dan saya tidak dapat menemukan banyak hasil pencarian yang relevan).

Executing transaction: / WARNING conda.gateways.disk:exp_backoff_fn(50): Uncaught backoff with errno EEXIST 17
failed
ERROR conda.core.link:_execute(543): An error occurred while uninstalling package 'c3i_test2::python-3.6.8-h9f7ef89_1'.
FileExistsError(17, 'Cannot create a file when that file already exists')
Attempting to roll back.

Rolling back transaction: done

[WinError 183] Cannot create a file when that file already exists: 'C:\\Anaconda3\\envs\\spyder-4-lsp\\DLLs\\_decimal.pyd' -> 'C:\\Anaconda3\\envs\\spyder-4-lsp\\DLLs\\_decimal.pyd.c~'

Saya memperbaikinya, seperti yang saya lakukan pada kasus sebelumnya, hanya dengan melakukan find . -type f -name "*.c~" -delete pada direktori /c/Anaconda3/envs/spyder-4-lsp dan menjalankan kembali perintah install. Untuk referensi, file yang ditemukan:

./DLLs/select.pyd.c~
./DLLs/sqlite3.dll.c~
./DLLs/unicodedata.pyd.c~
./DLLs/_lzma.pyd.c~
./DLLs/_multiprocessing.pyd.c~
./DLLs/_overlapped.pyd.c~
./DLLs/_socket.pyd.c~
./DLLs/_sqlite3.pyd.c~
./DLLs/_ssl.pyd.c~
./Lib/site-packages/mkl_fft/_pydfti.cp36-win_amd64.pyd.c~
./Lib/site-packages/numpy/_mklinit.cp36-win_amd64.pyd.c~
./Library/bin/libifcoremd.dll.c~
./Library/bin/mkl_rt.dll.c~
./python3.dll.c~
./python36.dll.c~
./pythonw.exe.c~

Terima kasih!

Terima kasih atas masukannya.

[','Sll32libiomp5md.dll', 'System32mkl_core.dll', 'System32mkl_def.dll','System32mkl_intel_thread.dll', 'SysWOW64libiomp5md.dll','SysWOW64mkl'core.dll' SysWOW64mkl_p4m.dll','SysWOW64mkl_p4m3.dll', 'SysWOW64mkl_p4p.dll']

Hapus semua file ddl ini dari C:Windows\SysWOW64 dan C:WindowsSystem32

Lakukan saja ini dan restart spyder sekali lagi dan hurrrahhhh!!! masalah Anda akan terpecahkan dan spyder akan terbuka tanpa menunjukkan kesalahan 242 ordinal ............ lakukan saja itu satu-satunya solusi ..

Hapus semua file ddl ini

Saya sangat menyarankan agar tidak menghapus DLL jika mereka merusak sesuatu yang Anda butuhkan ( sesuatu harus meletakkannya di sana) dan sebagai gantinya menambahkan ekstensi .bak .

C:Windows\SysWOW64

FYI, ini tidak perlu kecuali karena alasan aneh Anda menggunakan Anaconda versi 32-bit lama, yang seharusnya tidak Anda lakukan (kecuali jika Anda menggunakan mesin >10 tahun yang kemungkinan tidak dapat dijalankan Anaconda cukup, atau secara tidak sengaja membeli versi 32-bit Windows yang disimpan MS untuk perusahaan yang menjalankan perangkat lunak DOS 16-bit kuno dari> 3 dekade yang lalu.

itu satu-satunya solusi..

Seperti yang Anda lihat di beberapa komentar sebelumnya, @mingwandroid menyatakan dan saya mengonfirmasi ini harus diselesaikan dengan rilis berikutnya dari interpreter python Anaconda yang dapat dieksekusi, tanpa harus melakukan semua ini.

@mingwandroid Sepertinya ada diskusi besar tentang hulu ini...kau terlibat di dalamnya?

@CAM-Gerlach kami tidak yakin tentang pendekatan baru kami dengan pemuatan perpustakaan. Ini mungkin memperbaiki banyak orang, tetapi mungkin juga merusak lebih banyak orang. Kami sekarang condong ke arah penyediaan kemampuan baru yang diubah yang dinonaktifkan secara default, tetapi dapat dialihkan dengan variabel lingkungan. Saya akan menautkan ke dokumen di sini saat kami memilikinya.

PS: Saya mengalami kesulitan mereproduksi kesalahan. Saya ingin mencoba menangkapnya entah bagaimana untuk mengarahkan orang yang mengalami masalah ke dokumen baru kami. Apakah Anda memiliki tip khusus tentang cara mereproduksi ini? Saya telah mencoba menginstal MKL kuno ke folder System32 saya (2018, 2017, bahkan 11), tetapi dalam python 3.7 bersih, numpy 1.15.4, MKL 2019 env, saya tidak bisa mendapatkan kesalahan yang muncul. Procmon menunjukkan perpustakaan lama dimuat dari System32 - Saya hanya bingung bagaimana kesalahannya tidak muncul. Apakah ada operasi numpy khusus yang memicu masalah untuk Anda?

PS: MKL kuno termasuk intel-openmp (libiomp5md.dll). Saya juga mencoba menginstal versi lama di sana.

Terima kasih atas pembaruannya @marahan . Akankah dokumen membahas apa yang harus diwaspadai dalam hal jenis kasus penggunaan di mana mengaktifkan perubahan ini pada urutan pencarian DLL untuk Anaconda akan merusak fungsionalitas yang diinginkan?

Yang utama yang kami temukan adalah dengan pytorch dan cuda. https://github.com/pytorch/pytorch/issues/17051

Selain itu, saya takut jika perangkat lunak kami menimpa apa pun yang ada di system32. Yang pasti, akar masalah di sini dari vendor pihak ke-3 yang menginstal sesuatu ke system32 buruk, tetapi kita tidak boleh membuat potensi kebingungan keamanan/driver dengan mencoba mengkompensasinya.

@marahan Cara tercepat yang saya temukan untuk memicunya dengan andal adalah python lalu

import matplotlib.pyplot as plt
plt.plot([])

Anda mungkin perlu lebih tua dengan versi DLL Anda. Saya melampirkan libiomp5md.dll yang memicunya untuk saya; itu dari tahun 2009 antik.

libiomp5md.dll.bak.zip

Selain itu, saya takut jika perangkat lunak kami menimpa apa pun yang ada di system32.

Maksud saya, jika saya mengerti dengan benar, itu hanya mengesampingkan urutan pemuatan DLL untuk A. Kode berjalan pada penerjemah Anaconda Python, dan B. Untuk hanya memindahkan direktori pencarian DLL lokal yang dikendalikan Anaconda di atas System32 (apakah Anda memeriksanya di suatu tempat di PATH sudah, dan jika tidak tambahkan di akhir untuk berjaga-jaga?).

Bukankah yang terburuk yang bisa terjadi (yang, tidak baik tetapi bukan akhir dari dunia) itu merusak paket tertentu yang berjalan di bawah Anaconda yang mengandalkan hacky DLL pencarian/memuat trik sendiri, atau untuk beberapa alasan perlu versi DLL di Sysetem32 untuk tampil lebih tinggi di jalur daripada apa pun secara lokal?

Dan dalam hal masalah keamanan/driver, saya berasumsi sebuah paket dapat menyebabkan DoS (atau lebih buruk lagi, dengan beberapa upaya) dengan mengirimkan ntdll.dll yang buruk atau berbahaya atau sesuatu, tetapi pada saat itu jika itu dapat menjatuhkan DLL sewenang-wenang di sistem maka itu bisa menjatuhkan muatan berbahaya lainnya sebagai gantinya, dan sejauh yang saya mengerti mereka hanya dimuat dalam konteks dan izin dari juru bahasa Python yang menjalankan proses, yang mungkin sudah dikontrol secara efektif oleh paket jahat?

Atau mungkinkah untuk menjatuhkan salinan DLL berbahaya secara lokal di dalam lingkungan Anaconda di jalur pencarian, dan kemudian DLL penting itu dimuat alih-alih yang asli jika proses penerjemah Anaconda Python lain melakukan panggilan sistem tingkat rendah, untuk mencegat data atau tingkatkan hak istimewa (misalnya, tunggu pengguna di instalasi admin menjalankan conda sebagai admin, lalu kendalikan proses itu melalui DLL tingkat rendah berbahaya yang dijatuhkan di PATH? Saya bukan pakar keamanan, apalagi saya memiliki banyak pengetahuan tentang internal misterius Windows, tapi saya bertanya-tanya apa yang benar-benar mungkin atau tidak jika perubahan ini terjadi.

@mingwandroid Ray, saya mungkin memiliki kasus penggunaan yang tidak diselesaikan oleh tambalan.

Saya baru-baru ini harus menginstal kompiler Intel Fortran, dan bahkan dengan versi c3i_test2 saya memiliki kesalahan dll yang sama.

λ where mkl_core.dll
C:\Program Files x86)\IntelSWTools\compilers_and_libraries_2016.1.146\windows\redist\ia32\mkl\mkl_core.dll
C:\Users\<username>\Programs\Anaconda3\Library\bin\mkl_core.dll

Karena dll yang menyinggung tidak ada dalam direktori System32, apakah ini berada di luar apa yang coba dicapai oleh tambalan? Dugaan awal saya (walaupun tidak berpendidikan) adalah bahwa entah bagaimana ifort masih diutamakan dalam sistem, tetapi saya tidak cukup tahu tentang itu untuk mengetahui cara memperbaikinya.

@dolson14 Ambil semua ini dengan sebutir garam karena saya bukan ahli Windows DLL seperti @mingwandroid dan @marahan , saya juga bukan karyawan Anaconda, hanya pengembang Spyder.

Namun, saya tidak yakin bagaimana kompiler menyuntikkan lokasinya lebih tinggi ke jalur daripada Anaconda. Dengan asumsi conda activate bekerja dengan benar, itu harus selalu lebih tinggi dalam urutan pencarian daripada yang lain, setidaknya ketika meluncurkan apa pun dari Anaconda Prompt, kecuali jika pengguna telah menjalankan semacam skrip/program setelah activate ing lingkungan yang sengaja mengatur jalur berbeda. Dalam hal ini, itu bukan sesuatu yang dapat diselesaikan di pihak Anaconda dalam pemahaman saya yang terbatas, kecuali dengan menggunakan teknik yang sangat seperti manifes dan sejenisnya.

Sudahkah Anda menjalankan perintah, skrip, atau program apa pun setelah activate di lingkungan Anda? Jika Anda mengetik conda activate your-env-name dengan versi terbaru conda , dan kemudian menjalankan where mkl_core.dll lagi, apakah Anda melihat hasil yang sama? Apakah Anda mendapatkan kesalahan di Spyder, atau yang lainnya? Paket apa yang telah Anda instal di lingkungan ini ( conda list --show-channel-urls )? Apakah itu bertahan di lingkungan lain?

@dolson14 kemungkinan tidak mengaktifkan lingkungan. PATH bekerja dalam satu baris. Mengaktifkan memungkinkan kita menjadi yang pertama tanpa membuat masalah dengan perangkat lunak lain. Tidak mengaktifkan berarti Anda berada di bawah perintah, di mana umumnya hanya menambahkan yang aman, dan dengan demikian Anda berada dalam situasi di mana perangkat lunak yang diinstal paling awal memiliki prioritas lebih tinggi daripada hal-hal yang lebih baru.

Terima kasih @marahan . Jadi jika itu masalahnya, bukankah @dolson14 harus memilih opsi "Tambahkan Anaconda ke PATH" di penginstal agar dapat muncul di PATH (sehingga where akan menemukannya) sama sekali, seperti di atas? @dolson14 dapatkah Anda mengonfirmasi, seperti yang saya sebutkan di atas, bahwa Anda telah mengaktifkan lingkungan Anda, dan apakah Anda memilih opsi "Tambahkan ke PATH" saat memasang Anaconda?

Ah, itu sebenarnya masuk akal. Faktanya, saya mencoba menyesuaikan Shell saya untuk menambahkan direktori jalur python sebagai lawan dari menundanya, dan itu menyelesaikan masalah. Sepertinya mengaktifkan adalah solusi yang lebih baik, jadi saya akan melihat bagaimana melakukannya dengan cara yang benar di lingkungan shell saya. Terima kasih!

@dolson14 conda activate <env-name> (misalnya base untuk root env). Meskipun, Anaconda prompt harus mengaktifkan base untuk Anda secara otomatis...

@CAM-Gerlach yang sudah saya ketahui. =) Masalah saya adalah saya lebih suka menggunakan lingkungan shell yang berbeda dari prompt Anaconda default; Saya menggunakan cmder karena rasanya seperti linux dan dibundel dengan ssh, git, dan banyak alat lain yang sangat berguna.

Untuk referensi, jika sedang mencari cara melakukan ini, saya cukup memasukkan baris ini ke cmder/config/user-profile.cmd:

call "<path to Anaconda>\condabin\activate.bat"

Itu mengaktifkan lingkungan python hanya dengan membuka terminal.

@dolson14 Oh, saya sebenarnya melakukan hal yang sama persis dengan ConEmu + Git Bash (= Cmdr) + konfigurasi tugas khusus yang mengaktifkan lingkungan conda saya dan mengatur direktori kerja saya). Selama saya mengaturnya dengan benar, saya tidak pernah mengalami masalah yang Anda jelaskan, tetapi saya tidak yakin mengapa Anda menyimpulkan ini adalah masalah Anaconda ketika itu jelas berasal dari bagaimana lingkungan non-standar Anda diatur.

Berbicara tentang Git Bash/Cmdr—jika Anda tidak tahu namanya, orang yang Anda kutip (Ray) sebenarnya adalah salah satu pengembang inti di balik MSYS2 dan Git untuk Windows yang sedang kita diskusikan. @mingwandroid Adakah kemungkinan kita mendapatkan Prompt Anaconda default/bundel yang memanggil Git Bash daripada cmd.exe tua yang mengerikan di beberapa titik di masa depan?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat