(Spyder maintainer here) Indeed, these are really sad news. If you are interested in making Spyder a sustainable project, please consider donating to support our development:
https://opencollective.com/spyder
Any contribution is really appreciated!
To know more details about this, please read
https://github.com/spyder-ide/spyder/wiki/Anaconda-stopped-funding-Spyder
(Spyder maintainer here) Thanks a lot for your suggestions. My answers to them are:
Finally, let me say that Spyder is a community project (not company, university or institutional sponsor is behind it), so that's why we are not as professional (feature-wise) as PyCharm (which has JetBrains behind it).
Thanks for your feedback!
Install Anaconda to get all the data analytics packages you need to start, then run Spyder from there. That should get you started.
I started with RStudio and this was my preferred Python equivalent. I had too many problems using Rodeo where changes I made were not saved back to the file. Spyder v2 was slow, but v3 seems vastly improved.
https://github.com/spyder-ide/spyder/wiki/Anaconda-stopped-funding-Spyder
> Anaconda, Inc was supporting Spyder with a team of four developers working part time for the project for a year and a half. Unfortunately, that sponsorship ended in mid November 2017.
>
Spyder is pretty cool if your starting off. Nice built in features like an Interactive console, Documentation viewer, Variable explorer. website https://github.com/spyder-ide/spyder
Mac OSX .dmg
Yeah you've got an interesting point, I wonder why this practice is avoided everywhere else but common in UI library docs. I didn't like it, so in my own projects I do this instead:
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import Qt class Window(QtWidgets.QWidget): ...
And Spyder does it like this:
from qtpy.QtWidgets import (QApplication, QDockWidget, QHBoxLayout, QSizePolicy, QStyle, QTabBar, QToolButton, QWidget)
Regarding step 8 - using your environment with spyder: it seems that if you've installed spyder to your environment, you can just launch spyder from the terminal where your environment is active:
conda activate <env_name>
conda install spyder
spyder
> As for me, I would really like to have a watch on variables and a possibility to run blocks of code separately (like in Jupyter).
What about Spyder? It has both things (and much more, of course).
Disclaimer: I'm the Spyder maintainer, so this is just a bit of self-promotion.
Unforunately it seems like you'll have to do some hacking on Spyder to use it :/
https://github.com/spyder-ide/spyder/issues/5645
> Note: People have reported some limitations trying to develop Kivy apps with Spyder, so we recommend you to use another IDE. We specialize in scientific/engineering applications, and so we don't have the time to improve our interoperability with Kivy, sorry.
A lot of MATLAB users really like the Spyder IDE. Spyder intentionally looks a lot like MATLAB. So that might ease your transition a little.
As far as learning, harder to say. The only one who knows what is actually redundant for you is, well, you. Maybe check out one of those whirlwind tour of Python videos and see what you can take away from it?
Do you follow along with their github organization?
They've been trying to add a lot more plugins. Now they have a cookiecutter template for creating spyder-ide plugins.
Any text editor is fine. It's not important, especially at the beginning. Please don't spend hours on forums agonising over which tools to use. Just get started. I spent much too much time thinking about this stuff. If instead I'd spent it coding instead of reading hundreds of threads arguing about Emacs vs PyCharm vs Vim vs Sublime vs TextEdit vs Notepad++, and on and on ad infinitum, I'd have made much better progress. Learn from my mistake! :-)
Spyder comes with Anaconda, and that's all you need to get going. IPython is built in, and when you run a script from the editor, all your functions and variables become available in the Ipython console. It's a great way to learn.
If in the fullness of time you realise that it's no longer meeting your needs, that's the time to look for something else. IMHO.
apt install
installs latest version from Ubuntu repository, as you can see it is version 2.3.8
pip install
latest stable version from Python Package Reporitory - spyder 3.1.4
apt install
- will install and resolve all dependencies
pip install
- you on on your own (not such a huge problem if you have experience and persistence - latest Spyder version resolved few outdated dependencies).
I don't really understand how your Spyder installed - I never used Mac. On linux it was justsudo pip3 install spyder
+ some problems with the plugins.
According release notes Spyder should work with python3.6. They also added support for ipython6 and removed dependency on old version 0.9.0
of jedi
.
You can also try to install Spyder directly from source. There are steps
mkdir git
cd git
git clone https://github.com/spyder-ide/spyder.git
cd spyder
sudo pip3 install -r requirements/requirements.txt
python3.6 bootstrap.py
if all good it will open Spyder. And you still have that workaround to try
> install "requests" for python3.5 user@host ~ $ python3.5 /usr/local/bin/pip3 install requests
Is a known problem. Watch these discussions:
https://github.com/spyder-ide/spyder/issues/14920
https://github.com/spyder-ide/spyder/issues/15163
Developers there wrote: it'll be fixed in our next version (5.0.1), to be released shortly.
Maybe try to update Spyder with conda in order to get newest version (that is Version 5.1.1 (2021-08-04))
I just tried installing the latest release v5.0.0, and it worked. However, it throws an error for missing spyder-kernels
. This issue is already reported on the GitHub repo. I am also looking up how to make Spyder recognize my miniforge
distribution for packages. If anyone has a clue, please write to me.
This looks like a version mismatch of spyder parts?
Take a look here: https://github.com/spyder-ide/spyder/blob/master/spyder/plugins/ipythonconsole/widgets/shell.py#L593
The function does have save_all argument.
Looking at blame,
This was added 2 months ago.
Did you somehow partially update spyder?
A clean reinstall should fix this. (how did you install it? did you mess with the files after the install?)
The idea with a stable point Long Term Support release like Ubuntu 20.04 (which Linux Mint 20 uses as its base) is to have unchanging reliable software that has been tested during the faster point releases. This software will be increasingly out dated and miss out on the latest features... but will also miss out on the latest bugs. In a sense, this is the whole point of a point release.
So Spyder 4 will not be in the Linux Mint 20 main repos at any point by design. As you alluded to, you can still install it if you really want by using pip
according to the instructions here: https://github.com/spyder-ide/spyder/releases
However, I strongly recommend against using pip
to install a lot of things on your OS's primary python environment. Instead, it's a really good idea to use virtual environments instead.
Unless there's something you really need from Spyder4 vs Spyder3 I wouldn't worry about it.
On a Mac and don't use Spyder but try this
https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder
Can you get a more detail error message; "message that it have crashed" is'nt enough.
https://github.com/spyder-ide/spyder/wiki/Troubleshooting-Guide-and-FAQ
This might be relevant:
https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder
No problem, there are multiple things that could be going on here, I did a quick google on spyder/blocking plots and it looks common enough:
https://github.com/spyder-ide/spyder/issues/2402
Maybe repost the question mentioning 'Spyder' and 'Blocking' for a better chance someone who uses spyder will catch it.
>Your program is expecting (because it never got updated)...
It isn't necessary "your program". Install latest Anaconda and run pip install spyder --upgrade
- you will break something for sure. If not, pip install PyQt5 --upgrade
(LATEST: 5.14.0) and you will break Spyder (pyqt <5.13). And it isn't necessary "badly managed libraries" big programs are more conservative with dependencies upgrades (naturally) and Python package developers don't value backward compatibility for some reason (I am not talking about standard libraries).
The problem is standard for any programming language which use centralized and shared local libraries. For the same reason Linux itself need to have well maintained repository. Nodejs, Java (with Maven) for example don't have such issue (there some other).
WSA are WinSock functions, which I know because I've been making my sockets programs portable for the last year or so. <code>WSALookupServiceBegin</code> documentation is exceptionally opaque:
> The WSALookupServiceBegin function initiates a client query that is constrained by the information contained within a WSAQUERYSET structure.
(Ignore the A and W suffix; that's for string encoding.)
Is there more to the error, like this one where it says
> WSALookupServiceBegin failed with: 8
> Assertion failed: Connection reset by peer [10054]
Now that's an error we can use! A TCP RST.
You are definitely correct in saying F stands for function although I'm not quite certain on the A. I done some digging in here: https://github.com/spyder-ide/spyder/blob/master/spyder/utils/icon_manager.py which shows what all of the icons, seems like the only thing that makes sense for the A would be attribute.
Hopefully if we get some traction on it - it will get resolved! Still waiting.
https://github.com/spyder-ide/spyder/issues/3447
I made that and it was merged to a similar issue.
https://github.com/spyder-ide/spyder/issues/3323
There you go!
You need PySide or PyQt for Spyder to run, you probably had PyQt4 or PyQt5.
With PySide, mine worked without any issues the first time I tried it, so I can't really help you. I was gonna suggest you to file a feature request, but upon searching I found they're already working on it: https://github.com/spyder-ide/spyder/issues/2350 -- no reports of crashs though :)
Depending on your needs you might consider checking out either IPython, Spyder - The Scientific PYthon Development EnviRonment, or Jupyter (the language-independent branch of IPython's interactive notebook features.
From my (admittedly limited) experience, one of the biggest benefits of using the IPython IDE over the vanilla "batteries included" IDLE is that it includes tab completion and command history functions which are pretty big "nice to haves".
I'm interested more in engineering applications so I've been pretty impressed with both the Spyder IDE and Jupyter notebook feature sets. They're each targeted at different use cases, so it's definitely not one size fits all, but, depending on your needs/interests, one of them may be a better fit than IDLE.
Hope this helps!
I like Spyder.
PyCharm is great, but I found it too complicated for beginners or simple scripting. PyCharm is better for larger projects, while Spyderlib is better for one-offs or small projects.