Langkah apa yang akan mereproduksi masalah?
Apa hasil yang diharapkan?
Saya berharap untuk melihat beberapa output di variabel explorer. Ini terjadi pada Spyder 3.1.2 Linux dan Windows.
Berikan informasi tambahan di bawah
Ini kode saya, mencoba menerapkan elmiminasi Gaussian:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 16 17:40:09 2017
<strong i="18">@author</strong>:
"""
import numpy as np
def f(x):
return 100*np.exp(-10*x)
def exact(x):
return 1.0-(1-np.exp(-10))*x-np.exp(-10*x)
# Hardcoded params for simplicity
#fileout = pyOutput
exponent = 4
#n = 4
for k in range(1, exponent):
# Weird thing we didn't understand
n = 10**k
# Append i to filename
fileout = 'pyOutputSimple'
fileout += str(k)
# descretization resolution
h = 1/n
hh = h*h
''''''
d = np.zeros(n+1)
b = np.zeros(n+1)
x = np.zeros(n+1)
solution = np.zeros(n+1)
d[0] = 2
d[n] = 2
solution[0] = 0
solution[n] = 0
for i in range(1,n):
d[i] = (i+1)/i
for i in range(0,n+1):
x[i] = i*h
b[i] = hh*f(i*h)
# FW sub
for i in range(2,n):
b[i] = b[i] + b[i-1]/d[i-1]
# Backward sub
solution[n-1] = b[n-1]/d[n-1]
for i in range((n-2),0):
solution[i] = (b[i]+solution[i+1])/d[i]
with open(fileout, 'w') as fout:
fout.write('x:\t\tApprox:\t\tExact:\t\tRelative Error:\n')
for j in range(0,n):
RelativeError = np.abs((exact(x[j])-solution[j])/exact(x[j]))
fout.writelines('{0:.8f}'.format(x[j]) + '\t')
fout.writelines('{0:.8f}'.format(solution[j]) + '\t')
fout.writelines('{0:.8f}'.format(exact(x[j])) + '\t')
fout.writelines('{0:.8f}'.format(np.log10(RelativeError)) + '\n')
fout.closed
print('File: ' + str(k) + '/' + str(exponent) + ' written.')
numpy digunakan
pyflakes >=0.6.0 : 1.5.0 (OK)
pep8 >=0.6 : 1.7.0 (OK)
pygments >=2.0 : 2.1.3 (OK)
qtconsole >=4.2.0: 4.2.1 (OK)
nbconvert >=4.0 : 4.2.0 (OK)
pandas >=0.13.1 : 0.19.2 (OK)
numpy >=1.7 : 1.11.3 (OK)
sphinx >=0.6.6 : 1.5.1 (OK)
rope >=0.9.4 : 0.9.4-1 (OK)
jedi >=0.8.1 : 0.9.0 (OK)
psutil >=0.3 : 5.0.1 (OK)
matplotlib >=1.0 : 2.0.0 (OK)
sympy >=0.7.3 : 1.0 (OK)
pylint >=0.25 : 1.6.4 (OK)
Apakah itu hanya terjadi di Python 3.6?
Sejauh yang saya tahu, ya. Saya tidak mengalami masalah ini dengan Python 3.5 dan Spyder 2.3.8 di mesin Windows 7 saya yang lain.
Harap perbarui ke Spyder 3.1.3 dan coba lagi. Pengujian kami berjalan dengan baik di Python 3.6, dan mendeteksi jika objek ditampilkan di Variable Explorer.
Saya yakin saya juga mengalami masalah ini dan saya menjalankan 3.1.3 di Ubuntu. Laporan Ipdb ...
ipdb> sys.version_info
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
Saya bisa melihat fungsi dari Variable Explorer terhadap file sederhana ini ...
substitutions = dict(planet="World")
print("Hello {planet}".format(**substitutions))
... dan itu dengan benar memvisualisasikan substitutions
dict
Namun, saat menjalankan file ini secara interaktif ...
https://github.com/cefn/avatap/blob/6ad61cb3b8e198acae1caa6f187726fea4834b30/python/test.py
... tidak ada yang ditampilkan di jendela Variable Explorer, bahkan dari baris pertama impor lokal pertama.
Namun, panel ipdb interaktif memang dapat memeriksa variabel saat menjalankan file itu, misalnya, pada breakpoint Spyder di baris 28 di test.py, saya dapat melakukan ...
ipdb> !locals().keys()
dict_keys(['BoxPassage', '___', 'Engine', 'ticks_ms', 'loadStory', '_oh', '_iii', 'ChoicePassage', '_ih', 'storyUid', '__package__', 'ConfirmationPassage', '_sh', '_', 'uidInitTypes', '__name__', 'UidRegistry', '__file__', '_i1', 'boxUids', 'getStoryContext', 'Card', 'UidItem', '_ii', 'In', '__builtins__', '_i2', '_dh', 'Container', 'Uid', '_i', '__', 'ConditionalPassage', '__spec__', 'passageUids', 'Box', '__doc__', '__builtin__', 'Story', 'Out', 'AnonymousContainer', 'PagePassage', 'exit', 'story', 'Item', '__loader__', '_i3', 'MockEngine', 'Passage', 'unittest', 'quit', 'get_ipython'])
... sementara tidak ada sama sekali yang ditampilkan di Variable Explorer.
Saya memastikan untuk menghapus semua paket ubuntu spyder dan spyder3 melalui apt-get purge
, kemudian diinstal melalui pip seperti ...
sudo -H pip3 install --update spyder
Untuk memastikan bahwa tidak ada hal aneh yang terjadi, aku kemudian lari ...
pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 sudo -H pip3 install --upgrade
... untuk memutakhirkan semua paket pip3 ke yang terbaru, tetapi Variable Explorer Spyder tetap tidak bekerja sama.
Oke, jika masalah ini tentang debugging, maka itu bug dan dilaporkan di masalah # 3711.
Ini akan diperbaiki di Spyder 3.2.
Ups, saya pikir melihat lebih detail mungkin OP tidak menjalankan kode melalui debugger seperti yang saya asumsikan, jadi saya mungkin salah membajak bug ini. Saya tidak menyadari ada penampil variabel yang menunjukkan status simbol 'modul' di akhir proses, jadi saya hanya berasumsi bahwa perilaku yang dijelaskan terkait dengan debugging. Salahku. Mungkin OP bisa menjelaskan.
@ ccordoba12 adakah permintaan tarik di mana saya dapat memberikan kontribusi pengujian untuk fitur ini terhadap perbaikan yang diharapkan untuk mendarat di spyder 3.2? Saya mencoba menggabungkan debugger-improvements
cabang Anda ke spyder: head sesuai https://github.com/cefn/spyder/pull/1 tetapi ini tidak mengubah perilaku Variable Explorer di bawah skenario debug yang dijelaskan ( meskipun IDE tampak stabil dan berfungsi).
Mungkin itu adalah item daftar keinginan 3.2 untuk menyelesaikannya dan kode untuk menyelesaikannya belum ditulis? Beri tahu saya jika ada manfaat pengujian langsung.
Ada opsi di Variable Explorer bernama Exclude unsupported types
yang jika tidak dicentang akan menampilkan semua jenis variabel di atasnya.
Ya @cefn masalah ini terjadi saat tidak ada di debugger. Variabel harus diperbarui di akhir tetapi tidak jika muncul sama sekali. Debugger tampaknya bekerja hampir sepanjang waktu. Saya bisa membuatnya muncul jika saya menjalankan debugger, tetapi kemudian setelah mereka tidak memperbarui dengan proses berikutnya. Ini adalah tipe yang didukung seperti tipe Python asli (string, int, list, dll). Terima kasih telah melihat ini
Hanya ingin berpadu kembali dan mengatakan bahwa variabel sekarang muncul dengan baik di Spyder 3.1.3 di Linux saat menggunakan konfigurasi berikut dalam file yml lingkungan virtual conda:
https://github.com/sayboltm/tmp/blob/master/spyder_working.yml
Saya memiliki firasat bahwa versi QT yang saya jalankan sebelumnya mungkin terkait dengan masalah tersebut. Saya memiliki banyak masalah dengan QT untuk python dengan proyek lain yang baru saja saya selesaikan.
Edit: tautan github alih-alih menempelkan seluruh file yml
Sudahlah. Tentu saja setelah banyak tes, segera setelah saya mempostingnya, itu tidak akan menampilkan variabel setelah dijalankan di variabel explorer. Nah, ada konfigurasi saya. Saya harap kalian dapat memperbaikinya karena itu adalah fitur favorit saya dan alasan saya menggunakan Spyder.
Saya mengalami masalah yang sama segera setelah saya meningkatkan dari spyder 3.1.3 ke spyder 3.1.4. Perhatikan bahwa di bawah Alat / Preferensi / Penjelajah Variabel / Autorefresh ada kotak centang yang mungkin perlu diperiksa (milik saya dimatikan setelah peningkatan)
Saya memeriksa kotak itu dan kotak itu tidak dicentang, tetapi saya sangat kecewa, memeriksanya, memulai ulang spyder masih tidak memperbaiki masalah yang tampaknya terputus-putus ini. Ini cukup membingungkan.
Apakah ini sudah diperbaiki? Saya berhasil menjalankan kode saya tetapi saya tidak dapat melihat variabel apa pun di variabel explorer sesudahnya. Kenapa ini? Spyder 3.2.0 dengan Python 3.5.3.
menghadapi masalah yang sama di sini, saya merusak Versi Spyder: 3.1.4
Tidak dapat melihat tipe data !!
dan saya baru di sini !!
bantu saya untuk menyelesaikannya. :)
Terima kasih @vishalnadagiri. Saat ini array objek (dengan dtype=object
, artinya dengan data non numerik) tidak didukung. Sudah ada PR yang sedang berjalan (# 5260) untuk menambahkan fungsi ini. Ini akan tersedia di rilis mendatang.
Sementara itu:
X
jika Anda menyimpannya sebagai DataFrame
(cukup hapus .values
pada baris 10 Anda)array
jika Anda menghapus data non-numerik (kolom pertama dalam kasus Anda)Terima kasih @Prikers atas bantuannya, saya baru saja melihat DataFrame dengan menghapus .values
dan berfungsi dengan baik dan dapat melihat DataFrame !!
Saya masih melihat masalah ini terjadi dan sebagai hasilnya saya menjalankan Spyder 2.3.8 ketika saya benar-benar perlu mengandalkannya untuk memperbarui dan bekerja dengan baik. Masalahnya adalah, itu membutuhkan matplotlib lama yang membatasi apa lagi yang bisa saya gunakan.
Hanya untuk kepentingan utas ini saya telah mulai menguji Spyder 3.2.3 (terbaru yang didukung oleh Conda seperti yang sekarang) dan mencari variabel explorer tampaknya berfungsi. tapi saya bersumpah saya mencoba di Linux dan Windows dengan versi yang lebih baru dan hanya kadang-kadang berhasil.
Bagian terburuknya adalah ketika berfungsi pada awalnya, diisi dengan variabel (jadi Anda pikir itu berfungsi), kemudian berhenti berfungsi sehingga data lama tetap ada dan Anda bertanya-tanya mengapa variabel Anda tidak ditetapkan dengan benar, dll. Tetapi sebenarnya variabel explorer sekarat. Ketika ini terjadi, saya memverifikasi dengan mengetikkan jenis yang didukung yang dikenal (int, string) ke dalam konsol iPython dan melihat bahwa itu tidak ditambahkan ke variabel explorer. Senang melihat beberapa aktivitas di sini, saya akan memeriksanya kembali karena saya suka penjelajah variabel. Fitur favorit spyder pasti!
@Prikers Menantikan ini! Senang bisa membawa orang menjauh dari Matlab dan masuk ke Python dan open-source menggunakan Spyder sebagai gateway!
@sayboltm jika Anda dapat memiliki contoh sederhana yang dapat direproduksi, saya akan bersedia untuk menyelidikinya!
Saya mendapat masalah serupa dengan Spyder 3.1.2 dan Python 3.6. Saya melihat variabel saya terdaftar di Variable Explorer. Tetapi jika saya mengklik dua kali variabel array atau matriks, saya tidak dapat melihat keseluruhan array atau seluruh matriks seperti yang biasa saya lakukan dengan versi 2. * Sypder. Bisakah seseorang memberi tahu saya tentang cara menyiasatinya? Terima kasih banyak sebelumnya!
Pesan kesalahan yang saya terima: 'Spyder tidak dapat mengambil nilai variabel ini dari konsol', dengan pesan kesalahan tambahan 'Memeriksa dan mengatur nilai saat debugging di konsol IPython belum didukung oleh Spyder'. Namun demikian, saya cukup yakin bahwa saya dapat melihat konten dari seluruh kerangka data dalam versi 2. * Spyder.
@JasperAustin, apakah Anda mencoba melihat variabel saat menjalankan debugger?
Apakah masalah Anda serupa dengan masalah ini ?
Ya, @Prikers , saya mencoba melihat array di debugger
Masalah Anda telah diperbaiki di Spyder 3.2. Harap perbarui.
El 03/10/17 a las 15:34, JasperAustin escribió:
>
Ya, @Prikers https://github.com/prikers , saya mencoba untuk melihat
array di debugger-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/spyder-ide/spyder/issues/4154#issuecomment-333970000 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AAWS7SsFdQRCZ039T-4G8PguiNdDVwpsks5sopppgaJpZM4MDpNC .
Terima kasih, @ ccordoba12. Saya baru mengenal Python. Bagaimana saya dapat memperbarui ke Spyder 3.2 dari 3.1.2?
Jika Anda menggunakan Anaconda, Anda harus menjalankan di terminal sistem (cmd.exe, Terminal.app atau xterm)
conda update spyder
Jika tidak, silakan lari
pip install -U spyder
Terima kasih lagi @ ccordoba12 . Saya menggunakan Anaconda, dan mencoba perintah pertama Anda dua kali tetapi masih mendapatkan kesalahan berikut:
C: \ Users \ U608025> conda update spyder
Mengambil metadata paket ...
CondaHTTPError: HTTP Tidak Ada Tidak Ada untuk url
Berlalu: Tidak ada
Terjadi kesalahan HTTP saat mencoba mengambil URL ini.
ConnectTimeout (MaxRetryError ("HTTPSConnectionPool (host = 'repo.continuum.io', port
= 443): Percobaan ulang maksimum terlampaui dengan url: /pkgs/free/win-64/repodata.json.bz2 (Penyebab
d oleh ConnectTimeoutError (
. (hubungkan waktu tunggu = 9,15) ')) ",),)
aku harus lari
pip install -U spyder
Tapi itu menginstal Spyder 3.1.2, bukan 3.2. (Di Ubuntu 16.04 LTS)
Hai semuanya !
Saya punya sedikit masalah dengan spyder saya. Saya pertama kali minta maaf untuk menuliskan masalah saya di sini! Itu tidak terlalu penting tapi saya berharap seseorang bisa membantu saya ^^
Sebenarnya, ketika saya membuka Spyder, saya memiliki banyak variabel di explorer seperti ScalarType, cast dll ...
Apakah ada cara lain untuk mencegah variabel-variabel ini muncul?
Terima kasih banyak !
@ldesmet di pojok kanan atas plugin variabel explorer ada menu roda gigi. Di sana, ada opsi untuk menyembunyikan beberapa variabel seperti:
_
)Apakah opsi ini sesuai dengan kebutuhan Anda?
Hai! Terima kasih atas jawaban Anda :)
Sayangnya saya sudah mencentang kotak ini. Saya masih memiliki variabel-variabel ini di variabel explorer ketika saya membuka Spyder (sekali lagi, bukan masalah besar, saya hanya menghapusnya secara manual tetapi saya ingin berhenti melakukan ini ^^)
Terima kasih lagi !
Segera setelah Anda membuka spyder (sebelum menjalankan skrip apa pun), variabel-variabel ini mengisi variabel explorer?
Ya persis ! Saya bisa bergabung dengan gambar jika Anda mau.
@ldesmet Sepertinya konsol IPython menjalankan beberapa kode segera setelah Anda membukanya, mungkin mengimpor numpy. Dapatkah Anda membuka Preferensi Anda di Spyder (di menu Tools
), klik IPython console
dan tab Graphics
, dan lihat apakah Automatically import Pylab and Numpy modules
dicentang? Jika ya, mungkin itu penyebabnya. Jika tidak, hal lain yang perlu diperiksa adalah tab Startup
dan Use symbolic maths
bawah Advanced Settings
.
Jika tidak ada yang membantu, gambar akan berguna.
Hai, terima kasih atas jawaban Anda!
Saya baru saja menghapus centang pada kotak "Impor modul Pylab dan Numpy secara otomatis" dan sekarang saya tidak melihat variabel ini lagi! Itu bekerja dengan sempurna!
Terima kasih kalian berdua @Prikers dan @jitseniesen :)
Halo, Saya baru mengenal python dan spyder dan saya memiliki spyder 3.2.4 dengan Python 3.5 terinstal. Saya memiliki kode tensorflow yang berfungsi dengan baik. Namun, saya memiliki masalah dengan debugging karena tidak menampilkan nilai variabel yang terkait dengan tensorflow di konsol. Silakan lihat contoh 'prediksi' di bawah ini setelah menjalankan kode dalam mode debug. 'Prediksi adalah keluaran dari fungsi tensorflow.
ipdb> i
9
ipdb> prediksi
Saya mengimpor yang berikut;
impor numpy sebagai np
impor tensorflow sebagai tf
waktu impor
impor data_helpers
Apakah ada solusi untuk menampilkan nilai variabel tensorflow di konsol karena itu penting untuk debugging?
Terima kasih!
Salam pembuka!
Saya memiliki masalah serupa di variabel explorer. Saya menggunakan Spyder 3.5. Tolong beri tahu saya jika saya melakukan kesalahan di sini.
Ketika saya menulis kode di bawah ini, saya dapat melihat welcome_str terdaftar seperti pada variabel explorer
welcome_str='hello'
print(welcome_str)
Sekarang jika di tulis kode yang sama menggunakan __name __ == "__ main__", variabel explorer kosong
#Main function
def main():
#define constants here
welcome_str='hello'
#program flow
print(welcome_str)
#Main function call
if __name__=="__main__":
main()
Saya mengalami bug yang sama saat mencoba menerapkan kode berikut di awal skrip sebagai alternatif untuk menggunakan% reset secara manual di konsol IPython untuk menghapus variabel explorer
dari IPython, impor get_ipython
get_ipython (). magic ('reset -sf')
debug ketika mengimpor beberapa data dari GUI secara manual
Saya juga mengalami masalah ini. Saya melacaknya ke penggunaan skrip startup IPython. Saya melakukan beberapa pembersihan variabel di akhir dan del get_ipython
tampaknya merusak koneksi ke Variable Explorer. Menyimpan get_ipython
dalam ruang lingkup tampaknya membuatnya bekerja dengan benar.
get_ipython tampaknya merusak koneksi ke Variable Explorer. Menyimpan get_ipython dalam cakupan tampaknya membuatnya berfungsi dengan benar.
Ya, get_ipython sangat penting, tidak hanya untuk Spyder tapi juga untuk IPython. Jadi tolong jangan dihapus.
teks tidak ditampilkan di kolom nilai clean_answer, bagaimana mengatasinya
@jagadishkt , silakan buka terbitan baru tentang masalah Anda alih-alih memposting di masalah lama dan tertutup. Selain itu, kirimkan kode sederhana yang dapat kami gunakan untuk mereproduksi kesalahan Anda.
@ cvordan Itu membantu
Saya memiliki masalah yang sama dengan Spyder 3.1.2 dan Python 3.6. Fungsi tidak dijalankan dengan benar - Saya melihatnya berjalan, tetapi tidak ada yang dikembalikan. Ini juga kasus dengan fungsi uji-dummy (seperti a + b return c).
Saya mengalami masalah yang sama dengan spyder 3.3.6. Saya menghapus instalan numpy, spyder, dan menginstal ulang keduanya, lalu masalah telah teratasi.
Komentar yang paling membantu
Ada opsi di Variable Explorer bernama
Exclude unsupported types
yang jika tidak dicentang akan menampilkan semua jenis variabel di atasnya.