Hi everyone,
I'm facing an issue since I'm using remote kernel.
Everytime on console, there is a new line that appear every 2 seconds and I don't know how to avoid it (see attach picture).
Is there a way to fix that? I don't think it's linked to GUI, both spyder 3 and 4 beta are reproducing the issue.
Best regards
Are you connecting from Windows to Linux?
Are you connecting from Windows to Linux?
Yes exactly!
spyder-kernels was install on Linux server, and I'm running from windows the GUI part of spyder.
I'm wondering that perhaps it's more due to global properties of ourLInux server (and SSH properties) than Spyder itself....
I will look on my side and I will tell you if I find something.
Ok, thanks! That could be the case indeed.
Ok, some returns - I got an paramiko error:
"UserWarning: Unknown ssh-ed25519 host key for .....'
key.get_name(), hostname, hexlify(key.get_fingerprint())
Secsh channel 0 open FAILED: Connection refused: Connect failed
Secsh channel 1 open FAILED: Connection refused: Connect failed
etc ....
Seems linked with Windows OS. I'm investigated
I think the connection is flickering at times and that's what generates the new prompt every now and then.
For my previous error log, it's seems it was just a warning.
Attempting a connection through cmd, using ssh command and accepting host removes these errors.
For the flickering assumptions I also think about it, but seems weird as we are on wired gigabit network. But that's perhaps what's happening.
I will try checking for this next days!
Have a great day ccordoba12!
Ok so here I go again.
This morning, I made another try with somebody that knows better about SSH.
I juste give a try, the same as yesterday and... it works like a charm. I don't understand what's going on during my previous try. Perhaps due to some jobs that causing some kind of latence on the server or flickering on connection.
Thanks again for your interest!
Perhaps due to some jobs that causing some kind of latence on the server or flickering on connection
I also think that was the problem. Probably the connection had to be reestablished from time to time and that generated the multiple prompts you were seeing.
I'm getting this issue too, but mine hasn't resolved itself. It happens whether I connect via ssh in Spyder or forward all the require ports via command line (i.e. unchecking the remote option in the connection dialog). Like you said, it's probably something with the remote server. I don't think it's a connection issue, though, probably some way SSH or a firewall is configured. Do you know if there are any parameters that can be changed that would help this behavior, like something that decreases the frequency at which Spyder checks for a valid connection?
I got this issue today. does anyone have a solution?
(base) C:\WINDOWS\system32>spyder
C:\Programs\Anaconda3\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo
C:\Programs\Anaconda3\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo
C:\Programs\Anaconda3\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo
C:\Programs\Anaconda3\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
C:\Programs\Anaconda3\lib\site-packages\paramiko\kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
Secsh channel 0 open FAILED: Connection refused: Connect failed
Secsh channel 1 open FAILED: Connection refused: Connect failed
Don't know about the issue above, but here is what solved my issue for anyone reading: instead of running python -m spyder_kernels.console
and connecting to the kernel, quit the kernel after running it. Then restart the kernel with python -m spyder_kernels.console -f kernel-xxxxx.json
, specifying the file that was just created in the runtime directory, and connect to it. This fixed my problem for some reason.
@scott-8 that is a magic. it works well for me. Thank you~
Don't know about the issue above, but here is what solved my issue for anyone reading: instead of running
python -m spyder_kernels.console
and connecting to the kernel, quit the kernel after running it. Then restart the kernel withpython -m spyder_kernels.console -f kernel-xxxxx.json
, specifying the file that was just created in the runtime directory, and connect to it. This fixed my problem for some reason.
Unfortunately, this solution does not work for me. I have exactly the same issue as described in the original question. Is there any solution yet?
@PatBalz
I finally worked out by killing the extra kernel process, because I found several spyder kernel process running on my linux server after tons of restart.
Try to use scott-8's solution and make sure only one spyder kernel server running.
@woodywei
Thank you for your comment.
Unfortunately I have to say, that I am still facing this issue.
The mentioned solutions are just not working in my setup. I also followed the advice given in this issue "connecting spyder to remote server via ssh #13133".
This also does not help. So even if I start a kernel on the server, then quit this kernel, restart it via python -m spyder_kernels.console -f kernel-xxx.json and reconnect to it from the client (windows), I still face this repeated line jumps! It is really frustrating.
Now it finally worked.
I think the issue was, that I always missed some python processes in the background (I originally used top | grep python &
to find the processes). So the procedure that works for me goes as follows (explanation on my on newbie level of understanding):
Start the kernel on the server (I am using putty for this) and copy the name of the json-file (for example: kernel-15253.json):
python -m spyder_kernels.console &
Search for the just started process and kill it:
ps -ef | grep python
(Second Column of the output gives you the ProcessID, for example "1111")
kill -9 1111
Restart the kernel, using the retrieved filename from step 1 (for example "kernel-15253.json"):
python -m spyder_kernels.console -f kernel-15253.json &
Now copy the information from the json file to your local machine. The file can be found in the jupyter-runtime path. This path can be found via:
jupyter --path
Now you can start spyder on your desktop and follow the instructions starting at step 5 on this spyder-documentation using the above generated json-file
But I have to add to this that on the server-site I still reciece error-messages of the following form every time I execute a python command in the kernel:
[IPKERNELAPP] ERROR | No such comm target registered: spyder_api
[IPKERNELAPP] ERROR | No such comm: df083836e89d11ea98ae1ad486ebe
Can anyone explain this to me?
I hope this configuration is "stable" despite this error messages.
Thanks to all of you for your answers and helpful comments so far!
Most helpful comment
Don't know about the issue above, but here is what solved my issue for anyone reading: instead of running
python -m spyder_kernels.console
and connecting to the kernel, quit the kernel after running it. Then restart the kernel withpython -m spyder_kernels.console -f kernel-xxxxx.json
, specifying the file that was just created in the runtime directory, and connect to it. This fixed my problem for some reason.