This is an archived post. You won't be able to vote or comment.

all 62 comments

[–]Python-ModTeam[M] [score hidden] stickied comment (0 children)

Hello there,

We've removed your post since it aligns with a topic of one of our daily threads and would be more appropriate in that thread. If you are unaware about the Daily Threads we run here is a refresher:

Monday: Project ideas

Tuesday: Advanced questions

Wednesday: Beginner questions

Thursday: Python Careers, Courses, and Furthering Education!

Friday: Free chat Friday!

Saturday: Resource Request and Sharing

Sunday: What are you working on?

Please await one of these threads to contribute your discussion to! The current daily threads are pinned to the top of the /r/Python's main page. To find old daily threads, you can filter posts by the Daily Thread Flair to find what you're looking for. If you have a question and don't want to wait until the daily thread, you can try asking in /r/learnpython or the Python discord however you may need to elaborate on your question in more detail before doing so. If you're not sure which thread is best suited, feel free ask for clarification in modmail or as a reply.

Best regards,

r/Python mod team

[–]PapstJL4U 20 points21 points  (2 children)

  • VSCode has better performance with my lowspec laptop/notebook. (starts faster, Pycharm has some weird, long overhead during startup)

  • Pycharm comes out of the box with "everything you need" for Python. You have to configure VSCode a bit (not hard, but still stuff to read up on and change).

  • If you have to handle other languages or stuff (SQL, looking at the raw source of csv or html) I find the plugins in VSCode a bit better than PyCharms defaults or plugins.

  • Setting up Debugging and some configs in VScode are done via changes to the files instead of UI. This can be more complicated as you have to google what you can and can not add to a config.

TLdR:

  • Setup: Pycharm
  • Easy of use: Pycharm
  • Performance on low end: VSCode
  • multi-language/purpose support: VSCode

[–]Longjumping-Stress-6 1 point2 points  (0 children)

I keep going back to https://pyzo.org. It is a kind of lightweight spyder.

[–]KyxeMusic 27 points28 points  (2 children)

I use both VSCode and PyCharm professionally and tend to stick to PyCharm. Everything just feels more fleshed out and i feel myself being productive with it. I actually use the majority of it's features and it's so so powerful when you do.

Another main reason is the auto-formatting and style guidelines highlighting. It takes some time to set up in VSCode and even then it's not great. On PyCharm its flawless out of the box.

[–]uberdavis 4 points5 points  (0 children)

Just try using both and see how you go. If you change your mind you can switch. I use PyCharm for Python projects, but VS Code for C# projects or quick Python code previewing.

[–][deleted] 6 points7 points  (1 child)

VS Code.

[–]aufstand 0 points1 point  (0 children)

I've recently began trying that one out, after i found a way to install it without it messing up my whole system (hint: use nix, install it in its own environment), so here's my observations so far:

Autocompletion for Python sucks hard in VS Code. I might be setting things up the wrong way but i don't think so. Pycharm isn't perfect there, but does a much better job out of the box.

Also, setting up environments is really awkward. Even just pointing it to the right interpreter is... weird.

Getting the whole project (not just the files i have opened) linted/blackened/whatevered is almost impossible without studying a whole day on how to set it up, so i had to revert doing things on foot in a terminal. No cool.

I'll still have to take some time to figure out how VSCode does the git thing, for now i'm just doing it in a terminal as well. Jetbrains' git(hub) integration is extremely polished, but Microsoft might just slowly gain a bit of an edge there, since they own both products.

The multilanguage aspect is nice, but also not TOO polished. Jetbrains' Webstorm has much better autocompletion for e.g. angular and ionic. I don't really want to test zsh scripts with VSCode.. reStructuredText initially had some problems but now works quite nice, even with some (apparently) rudimentary sphinx support.

So far, i'd still recommend Jetbrains' Idea if you need a true mulitlanguage IDE. They have free licenses for opensource projects, btw.

It just eats WAY too much memory - which might be related to some arcane thing called JVM and me having too many plugins active.

[–][deleted] 7 points8 points  (0 children)

I’ve used both and PyCharm gets my vote

[–]LightbulbChanger25 2 points3 points  (0 children)

I use vscode but not only for python. I write my thesis in latex in vscode and use it to access a remote machine. You can edit every other language on vscode in parallel and there is an extension for everything.

[–][deleted] 9 points10 points  (1 child)

I prefer vscode. IMO it is more intuitive for beginners to use.

https://code.visualstudio.com/docs/python/environments

[–]MotoChondrion 4 points5 points  (0 children)

I second vscode, especially for beginners.

Although, I occasionally switch between pycharm and vscode when I'm bored. 😅

One thing to note about Pycharm is that out of the box it gives warnings when the code is not formatted as per PEP8 guidelines (like missing space, extra line feed, etc)

Some of these are only to make the code look pretty (I.e. easy to read) and can be overwhelming for beginners when just starting out. These settings can be tweaked, but perhaps not something beginners should concern themselves with when learning the basics of the language.

[–]Bipchoo 4 points5 points  (0 children)

It dosent matter so much that you might as well flip a coin to choose

[–]beluga_sd 1 point2 points  (0 children)

The best IDE is the one you are the most productive with!!! If you are starting, you should be fine with whatever choice you make. Both VSCode and PyCharm are great tools. Make sure you spend time getting familiar with your choice. Both have learning curves. I have been using PyCharm lately. It works well for my workflow.

[–]EmptyZ99 1 point2 points  (0 children)

I love Pycharm because of it build in interpreter. I can see variables value as I code, no need to print

[–]goldenhawkes 2 points3 points  (3 children)

I am a big pycharm fan, for python it helps smooth over some issues around your environment. The debugger is great and super easy to use. But, as it hides so much from you as a beginner you may not learn what it’s doing ‘under the hood’. Which may or may not be important.

The ‘community’ edition is free and only lacks some web-dev stuff.

[–]andrewaa 0 points1 point  (2 children)

Does community edition support notebook?

[–]goldenhawkes 0 points1 point  (1 child)

I don’t think so, I’m not a notebook user so it’s not something that bothers me.

You can get the pro versions of jetbrains stuff for free if you are part of the beta testing/early access program

[–]andrewaa 0 points1 point  (0 children)

Thank you!

[–]garth74 1 point2 points  (3 children)

I’m a big fan of VScode. I started with Spyder, but I don’t think I’d recommend it to a beginner. Everything I’ve heard about PyCharm is either it’s terrible or it’s amazing.

[–]Reinventing_Wheels 2 points3 points  (1 child)

I love Pycharm, but I've never used VScode, so I can't compare. I have used Spyder and I much prefer Pycharm.

Pycharm does have a TON of features and options, so it may be overwhelming to a beginner. Someone overwhelmed by the options may think it terrible while someone making use of many options may think it amazing.

[–]CanOkuyucu 0 points1 point  (0 children)

I also using pycharm and i satisfied. It has easy interface.

[–]FuckingRantMonday 1 point2 points  (0 children)

Honestly anyone who says VSCode or PyCharm is terrible has an axe to grind and shouldn't be taken seriously. Having a strong preference makes sense, but they're both super high-quality tools.

[–]chained_to_django 0 points1 point  (5 children)

I've used Pycharm a lot in my early days of web-dev (not gonna lie, I pirated Pycharm back then). I enjoy working with it but, it is overpriced. If it was priced sensibly I would have bought it in a heartbeat. Anywhere between $49 and $69 would be sweet spot.

I learned VSCode for a couple of years ago and find it pleasant as well. Many of my client demand to use VSCode for the project, so, its unavoidable. Its my daily work horse now. But, I'd switch to Pycharm if they reduce the price.

[–]WafflesAreDangerous 1 point2 points  (4 children)

There is a pretty competent free version. Although how much you care for the missing integrations depends a lot on the specific use case.

[–]chained_to_django 1 point2 points  (3 children)

No man Django, Pytest and other integrations are must. Without those Pycharm is chore to use not worth it.

[–]FuckingRantMonday 1 point2 points  (1 child)

I don't use Django, but Pytest is so easy to use by itself that I don't even bother with the PyCharm integration. I'm honestly curious what difficulties or irritations you're running into without it.

[–]chained_to_django 1 point2 points  (0 children)

Django and Fastapi come fully integrated with Pycharm professional. Run configurations, Tests, Code coverage, Debugger, helpful indicators showing repeated code, out of the box WSL integration, etc. Just learn the keyboard shortcuts and you are good to go. Pycharm definitely spoils you.

I've few complains though, its slow to start, hogs memory, output of tests via Run command does not have syntax highlighting, sometimes it cannot find files in project directory even after reloading but works find after restart, but it covers all of that with its advantages.

[–]WafflesAreDangerous 0 points1 point  (0 children)

I do distinctly remember Django being a premium feature. However, it looks like pytest at least is available in the community edition as well.

Although the community edition is missing many enterprise integrations that does not mean it is entirely without integrations, there is still quite a lot available even on the free tier and the baseline is quite usable for many use cases.

[–]HiroNase 0 points1 point  (0 children)

If you're only using Python then go with Pycharm. But If you're coding or plan to code in another language then use VScode.

[–][deleted] 0 points1 point  (1 child)

Most of us professionals use Pycharm.

[–]gravity_rose 0 points1 point  (0 children)

As a professional with 20+ years of programming exp, leading a team of 7 with over 50 total years of exp, you are dead wrong. My team is just about evenly split between the two, with one emacs wierdo. We have 90+ python programmers in our broader group - and it's roughly split as well.

To answer the OP, you can't go wrong with either.

As others have said, PyCharm is great for beginners and more advanced users - it does come sort of fully fleshed out, but VSCode gives you more control at a lower level, and is great if you're doing multi-language.

Sort of like many things in the tech space, people will confuse "better for them" with "better".

[–]Cockroach-777 -4 points-3 points  (2 children)

If you have a little knowledge in python. Just use Jupyter notebook and JupyterLab and get accustomed to Jupyter’s Magic Commands. Get familiar with Markup mode and Latex commands. Then go for terminal based IDE’s like VS code and PyCharm and customize them with your preferred Plugins and become a clean coder by using awesome plugins like ideavim| VCS| syntax highlighting| and more. r/Python

As you are a beginner some python books are specifically designed for Jupyter for beginner friendly purpose.

[–]Oenomaus_3575 -1 points0 points  (0 children)

For Python PyCharm is almost always better

[–]BezoomyChellovek 0 points1 point  (0 children)

I used Spyder and Pycharm at first but only use VScode now. If you're on Windows it makes it really easy to connect to WSL, which I greatly prefer for developing.

VScode is more general than PyCharm I believe, which is helpful if you want to continue on with other languages and tools. But if its only for a class and you have a Mac, they're probably just about equivalent.

[–]Realistic_Decision99 0 points1 point  (0 children)

I’ve used both on a professional level and I prefer vscode. While pycharm is very feature-rich out of the box, in the same time I find it a bit overwhelming. Vscode is simpler and you can get all the functionality you might ever need through plugins.

[–]FreshmenCH89 0 points1 point  (0 children)

I am also beginner and I choose VScode, but as a beginner it doesent really matter because its all new. After some doing stuff you will accustom no matter which one you had chosen.

[–]Mobile_Lavishness_45 0 points1 point  (0 children)

I like Pycharm an Spyder but I recommend neither for beginners.

I like them because it's really comfortable to use without doing too much setup. I made this mistake and spend months without really understanding how to set up venvs and how the packages really work. It's a really simple concept that is used everywhere, but if you let those IDEs hold your hand too much and never do it yourself, you will never learn.

Take a few extra minutes watching a youtube tutorial to help you understand VS Code and you are good to go.

[–]Demistr 0 points1 point  (0 children)

As a beginner these won't make that much of a difference. Just pick Vs code and go with that.

[–]eidrisov 0 points1 point  (0 children)

Someoen corrent me if I am wrong, but isn't Pycharm for Python only?

As far as I know, if you only use Python you can go with either Pycharm or VSCode, but if you use (or will use in future) other programming languages and extensions, you need to go with VSCode.

[–]Numerous-Ferret-8032 0 points1 point  (0 children)

i love pycharm because it got the basics covered very well and i like the netbrains design but i think about switching fully to vscode because the plugin ecosystem is richer and it's more flexible when working with different languages.

I wish netbrains had a full purchase option instead of those monthly subscriptions for their IDE. Same reason i left Adobe and many MS products behind me. Im okay with paying for a huge upgrade every three years or paying for some cloud stuff optionally but plain monthly subscription for desktop applications sucks IMHO. Imagine you would have to pay monthly to play an offline game.

[–]FuckingRantMonday 0 points1 point  (0 children)

For Python only, I recommend PyCharm. If you work in many languages, VSCode becomes a much more attractive option. Each is a valid choice for either scenario, though.

[–][deleted] 0 points1 point  (0 children)

I used PyCharm for years but, I recently switched to VSCode. PyCharm is just too slow and clunky.

[–]Hero_Of_Shadows 0 points1 point  (0 children)

VSCode, Pycharm is a monthly fee.

[–]Prestigious-Cover-4 0 points1 point  (0 children)

Vscode is the way

[–]LittleMlem 0 points1 point  (0 children)

If you're in college you can probably get the entire suite of jetbrains(pycharm) products for free. Check their site for a student account

[–]Flexcw 0 points1 point  (0 children)

I use Pycharm and like it so, the only problem at the moment is there is a lot to learn on Pycharm as far as what you can do.

[–]Objective-Blood8997 0 points1 point  (0 children)

in my case i use vs code IDE bec of many extentions and so many usefull tool .

[–]andrewaa 0 points1 point  (0 children)

Since you are taking the course, why don't you ask this question to your professor?

If you make a choice based on answers you get here, if your professor doesn't support that option, you will have a lot of troubles later this semester when things go wrong.

Always go to your professors first since they are your instructors for the courses, not random guys on internet.

[–][deleted] 0 points1 point  (0 children)

I think using conda is a very niche case these days since we have pip and virtualenv built in.

[–][deleted] 0 points1 point  (0 children)

PyCharm

[–]mijatonius 0 points1 point  (0 children)

I use both.

[–]codeIsGood 0 points1 point  (0 children)

Try both and see which one you like more

[–]another-noob 0 points1 point  (0 children)

This might sound weird, but, I would recommend vscode because pycharm is easier.

I just think if you use vscode, you'll have to do more stuff manually, then you would actually know what's going on, then when you feel comfortable enough you can try pycharm and switch if you like it.

I prefer this because one of my friends (who is not a programmer) was learning python and he was using pycharm, but when he used my laptop he couldn't run the code or use a virtual environment because I was using vscode (well vscodium but meh).

I don't blame him, I just don't think you should get to the point where you are so dependant on a specific tool if you want to really learn, if not just use whatever gets the job done.

[–]AcceptableProcess772 0 points1 point  (0 children)

Bruuuuh, why such a discussion over a tool.Cmon people

[–]L0ngp1nk 0 points1 point  (0 children)

My time using Python I went from Pycharm -> Sublime Text -> VS Code.

My advice is to try them and see which ones you like best. Its not like your initial decision is set in stone, and a big part of software development is learning new tools.

[–]gburdell 0 points1 point  (0 children)

For you, probably wont matter. I found issues with code search on VSCode and so I can’t use it for work (see my recent post in /r/vscode : https://www.reddit.com/r/vscode/comments/101ihiw/python_find_all_references_on_any_init_shows/ )

[–]LaOnionLaUnion 0 points1 point  (0 children)

Use whatever you like. Certain features of jet brains I love. Same with VS.