Jump to content

IDE for Python??

ionbasa
Go to solution Solved by ionbasa,

Thank you all for your thoughts and inputs. I like PyCharm so far; works great for what I need it to do.

I'm trying to pick up learning python. An hardware level application supports both python and Matlab/Simulink, so I thought it would be great way to try python out. I'm fairly adept at Matlab, C, C++.

Thoughts on an IDE? Is one even needed? Or just run the scripts directly in a console (Powershell)? I'm on Windows.

▶ Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. - Einstein◀

Please remember to mark a thread as solved if your issue has been fixed, it helps other who may stumble across the thread at a later point in time.

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, fizzlesticks said:

PyCharm or Visual Studio.

 

3 minutes ago, cdominic3 said:

Thonny is good as well.

I'll check both out. Visual studio is out of the question for the time being. The amount of dependencies it installs makes it hog a lot of space. 

▶ Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. - Einstein◀

Please remember to mark a thread as solved if your issue has been fixed, it helps other who may stumble across the thread at a later point in time.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, ionbasa said:

Thoughts on an IDE? Is one even needed?

On the very rare occasions where I need to carve some Python code on Windows (I still don't really like Python and neither should you), I'm fine with a combination of Emacs and a decent command shell (currently, mainly the PowerShell, but it doesn't really matter for running Python things).

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, ionbasa said:

 

I'll check both out. Visual studio is out of the question for the time being. The amount of dependencies it installs makes it hog a lot of space. 

Visual Studio 2017 does not have a lot of dependencies anymore (unlike previous versions).

You can install VS2017 with Python support without the C# or C++ stuff.

Desktop: Intel i9-10850K (R9 3900X died 😢 )| MSI Z490 Tomahawk | RTX 2080 (borrowed from work) - MSI GTX 1080 | 64GB 3600MHz CL16 memory | Corsair H100i (NF-F12 fans) | Samsung 970 EVO 512GB | Intel 665p 2TB | Samsung 830 256GB| 3TB HDD | Corsair 450D | Corsair RM550x | MG279Q

Laptop: Surface Pro 7 (i5, 16GB RAM, 256GB SSD)

Console: PlayStation 4 Pro

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, mathijs727 said:

Visual Studio 2017 does not have a lot of dependencies anymore (unlike previous versions).

You can install VS2017 with Python support without the C# or C++ stuff.

even then it is massively bigger than pycharm

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

I'd have to agree with the people recommending pycharm. I'm using it myself while learning python, and also use phpstorm (Made by the same people that made pycharm) for my current job.

Link to comment
Share on other sites

Link to post
Share on other sites

use pycharm for a while then switch to idle (the idea shipped with python) or anything else you'll 100% regret it and move back. I used to use atom for a lot of my coding python, php and so on but since picking up python more nothing beast pycharmed,

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

PyCharm

 

Also, there's a very useful tool (not an IDE) if you just want to experiment with pieces of code but you don't want to create multiple scripts for that: Jupyter notebook. Think of it as a very nice version of Python IDLE.

Link to comment
Share on other sites

Link to post
Share on other sites

On 10/13/2017 at 12:36 AM, ionbasa said:

 

I'll check both out. Visual studio is out of the question for the time being. The amount of dependencies it installs makes it hog a lot of space. 

Get Visual Studio Code, not Visual Studio.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm a huge Emacs guy and have been meaning to get into python a bit more. This looks pretty promising to get you started if it's autocompletion that you seek https://github.com/proofit404/company-anaconda


The rest as is with a lot of Emacs, is down to you and what your preferences are. :)

Link to comment
Share on other sites

Link to post
Share on other sites

I vote for the default IDLE version. In most cases you don't need anymore.

 

You can get it as a portable install so you can keep programming even if the computer you are using doesn't have it installed and it does everything you really need an IDE for. Additionally it is light on resources and comes preinstalled with most python distributions. Highlighting, bracket indication , tabing etc all work per default and it is customisable if you wish to edit the colours to your personal preference.

 

However if you are planning to use multiprocessing in the IDE look elsewere, most of the time IDLE will crash if you launch multiple processes from it. Also if you plan to print thousands of lines of text very quickly then IDLE is also not your friend, the printing speed is very slow (still faster than you can read). Both these issues can be circumnavigated by using the shell for print or multiprocessing intensive applications.

 

Could someone highlight a use case where one would need a more complex editor outside of code analysis in modules such as cython.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, ScratchCat said:

Could someone highlight a use case where one would need a more complex editor outside of code analysis in modules such as cython.

I think that you may have saved us all the effort:

3 hours ago, ScratchCat said:

However if you are planning to use multiprocessing in the IDE look elsewere

In any event, I've never used it. Far too basic for real world projects...

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

21 minutes ago, Nuluvius said:

I think that you may have saved us all the effort:

In any event, I've never used it. Far too basic for real world projects...

What's wrong with mutliprocessing? its handy for number crunching large datasets.

 

have to admit I've gotten into async as of late and for none blocking I/O its super fast. 

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

40 minutes ago, vorticalbox said:

What's wrong with mutliprocessing? its handy for number crunching large datasets.

 

have to admit I've gotten into async as of late and for none blocking I/O its super fast. 

I think Nuluvius means the IDE is too basic.

 

Have they managed to get rid of the GIL in async yet, due to the interpreted nature of python it seems in multi user instances MP is required to provide a decent user experience.

 

1 hour ago, Nuluvius said:

I think that you may have saved us all the effort:

In any event, I've never used it. Far too basic for real world projects...

One can just run the program using terminal, no effort required.

I guess type checking could be beneficial for large projects if that is what the larger IDEs provide.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, ScratchCat said:

Have they managed to get rid of the GIL in async yet, due to the interpreted nature of python it seems in multi user instances MP is required to provide a decent user experience.

no the GIL is still very much there, if you use modules like gevent, it's basically threads but the main thread jumps to one that is ready rather than checking each one.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, vorticalbox said:

What's wrong with mutliprocessing? its handy for number crunching large datasets.

1 hour ago, ScratchCat said:

I think Nuluvius means the IDE is too basic.

^ Sorry if I wasn't clear.

1 hour ago, ScratchCat said:

One can just run the program using terminal, no effort required.

I guess type checking could be beneficial for large projects if that is what the larger IDEs provide.

Let me clarify; larger and more complex projects, especially in a team environment. One is not going to be writing those using what is essentially a wonky text editor or running and debugging them from the terminal. No those cases require heavy artillery, the sort that is provided by the likes of PyCharm which is built upon ReSharper technology, can manage Python virtual environments, is extensible, mature, cross platform and just generally the best and most pragmatic tool for the job...

 

Sure there's always a case for basic learning using the terminal but that shouldn't really get drawn out too long in my opinion. At least not beyond the sort of Micky Mouse style single scripts that are representative of ones very first forays. If one is serious then why wouldn't they want to get their hands on and practice with the industry defacto standard tool(s)? I've always believed in the proverb: 'One can only fight the way that they have practised'. Why gimp yourself?

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

I briefly used PyCharm the other day and that seemed good. Can run notebooks too if you set up a server for it and you pass the URL/token to it. I was going to use it, if needed, to step through some code to illustrate things in class for file I/O stuff that can't be visualized with Python tutor. I ended up not using it. In any case, it seems neat enough that I may actually use it when I do work in Python now. At least work done locally. Otherwise I'll continue using remotely using vim.

 

As a data science sort sort of person, I was curious about Spyder IDE because it looks similar to RStudio or Matlab, but I gave up after it wouldn't start up due to missing QT bindings or something. Didn't want to spend further time on that when PyCharm installed and worked easy.

Link to comment
Share on other sites

Link to post
Share on other sites

On 10/13/2017 at 1:35 PM, Dat Guy said:

On the very rare occasions where I need to carve some Python code on Windows (I still don't really like Python and neither should you), I'm fine with a combination of Emacs and a decent command shell (currently, mainly the PowerShell, but it doesn't really matter for running Python things).

Get outta here telling people not to like Python. It's better than most languages for anything to do with data science or machine learning.

"The only person you are destined to become is the person you decide to be."


CPU: Intel i5 4690K - Motherboard: Asus Maximus VII Ranger - RAM: Corsair Vengeance LP - 2x4GB @ 1866Mhz - GPU: MSI Twin Frozr GTX 770 4GB - CPU Cooler: Be Quiet! Dark Rock Pro 3 CPU Cooler - PSU: EVGA SuperNova G2 750W - Storage: Seagate Barracuda 2TB HDD- Case: Fractal Design Define R4 Windowed (with Red AKASA Led Strips) - Display: Benq GL2460HM 24" Monitor

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×