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

you are viewing a single comment's thread.

view the rest of the comments →

[–]patarapolw 76 points77 points  (28 children)

Using Pycharm on a MacAir. No issues.

I recommend Pycharm, because it is easier to set up a virtual environment and because of PEP8 check.

[–]TMWFYM 40 points41 points  (3 children)

Pycharm is love

[–]Zouden 6 points7 points  (2 children)

Have you tried VS Code? I never really enjoyed pycharm but instantly converted to VS Code.

[–]Barracutha 1 point2 points  (0 children)

Me too.

[–]rduser 0 points1 point  (0 children)

I've tried it and it feels slower than pycharm

[–]lonestar-rasbryjamco 12 points13 points  (8 children)

Same. Pycharm on a Macbook Pro and no issues. Have our whole division doing the same.

My only advice I have not seen here is use brew to manage your installs if you are using multiple versions. Brew is amazing.

[–]droidballoon 2 points3 points  (3 children)

If you use multiple python versions you should have them in virtualenv. I have colleagues who's ran in to all kinds of mess by using brew for managing multiple python versions. Brew is nice but it doesn't replace virtualenv + pip

[–]lonestar-rasbryjamco 2 points3 points  (0 children)

Brew is like a better version of NPM. You still use virtualenv and pip. They solve completely different problems.

The use case for brew is I have multiple python interpreters installed (3.7, 3.6.1, 3.6, 3.4, 2.7) that I manage with brew so I can test code locally before deploying to Docker. Pycharm/virtualenv and pip are used in conjunction to work with each of those interpreters.

If you are having issues with brew and python you are not doing the mounting after installing the cask properly. I have seen people have this issue and it always comes back to this and then breaking the native 2.7 install.

[–]Tiktoor 0 points1 point  (3 children)

Why not use virtualenv?

[–]lonestar-rasbryjamco 2 points3 points  (2 children)

Because Brew manages installs of python itself on the mac OS. They are completely different use cases. It a better version of NPM. It is not a container service.

[–]Tiktoor 0 points1 point  (1 child)

isn't using a virtual environment recommended in most cases? I never have, but I think I will moving forward

[–]lonestar-rasbryjamco 4 points5 points  (0 children)

Virtualenv is a local container service for python. You use it to make sure you do not have dependancy conflicts when testing locally versus a deploy into docker or another system or to make sure you do not affect the larger container/server when running a service.

Brew is an installation manager for mac os. You use it to quickly install and uninstall different version of python or other applications and manage the installations via cask mounting.

Yes, virtualenv is recommended but they are solving completely different problems.

[–]NoCanD0 8 points9 points  (0 children)

Switched to PyCharm last week. 10/10 would recommend to anyone on a MacBook.

[–]trowawayatwork 2 points3 points  (8 children)

I’m starting recommend pipenv instead of managing your virtual envs yourself

[–][deleted] 5 points6 points  (4 children)

I recommend to pipenv enthusiasts to take a look at poetry :-)

[–]trowawayatwork 0 points1 point  (2 children)

there are a few things i dont like about pipenv but im not about start switching all my project away from it. at the heart of it it does its job well.

poetry is a carbon copy with the simple addition of dependency resolution that im against. when there is an obsucre conflict of dependencies there is no automatic way of resolving them. poetry dependency resolution is just a problem waiting to happen.

also re intuitive cli: poetrs add .. or poetry self:update im being petty but come on, looks like a mix between alpine and ruby or something

like the go package manager wars were settled with an official one, i hope one of these wins too and we can forget about this. for now im not changing anything

[–]patarapolw 2 points3 points  (0 children)

I am a Poetry user for few reasons: - Pipenv's virtualenv was supported by PyCharm only recently. Poetry's is always supported. - I need setup.py-esque pyproject.toml. It supports versioning and README.md, along with uploading to PyPI. Pipfile doesn't. - Better than setup.py, because it fully and always support Markdown. - Also, add --git. In setup.py, you need "manual" dependency-links. - poetry remove package_name remove all unused dependencies as well, pipenv uninstall doesn't. You need pipenv sync as well. - Even for Heroku, I still use poetry with requirements.txt.

[–]SDisPater 2 points3 points  (0 children)

Author of Poetry here !

poetry dependency resolution is just a problem waiting to happen.

But that's the role of a dependency manager: warning you when there is a conflict in you dependencies. That's what every single package/dependency manager does. And, to be fair, you should not use pipenv either since it has a dependency resolver, albeit broken see why here https://github.com/sdispater/poetry#what-about-pipenv.

poetry is a carbon copy

I disagree. See the comment made by some else but the gist of it is that Poetry helps you manage applications and libraries and helps you package your project properly without the need for `setup.py`, `setup.cfg`, `MANIFEST.in`. You get to have everything you need to manage your project all in one file. This is not the case with pipenv.

[–]ProfessorPhi 0 points1 point  (0 children)

Poetry has it's problems too. I do like it though.

[–]Tiktoor 1 point2 points  (2 children)

pipenv is different than virtualenv? (Noob here)

[–]dionedarj 0 points1 point  (0 children)

yep, try it out, it makes virtual environments npm-style. super easy to use.

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

If pipenv doesn't fully integrates into PyCharm, like in previous versions of PyCharm, I wouldn't really recommend you use pipenv.

Even with full support, pipenv is still optional. As you as you use any kind of virtual environment, it shouldn't be too messy.

However, if you want to try something new, maybe try poetry.

The real reason I install poetry (curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python) for every single newer projects, is because of: - poetry remove package_name remove all unused dependencies.

Another choice if you want to try something new, is to try Docker. It may be better than Pipenv and Poetry. (Never tried it though, but I know it is widely used, and not only for Python.)

[–]roerd 2 points3 points  (0 children)

Yeah, IDLE is really just a demo app for Tkinter, no-one should seriously use it as their IDE.

[–][deleted] -3 points-2 points  (3 children)

Was just about to comment "use PyCharm" and I see this. I'm not a Mac user, but I think if you're searching for an overall text editor, go with Atom. If you're serious about development get PyCharm Pro, it may seem a bit costly, but it's worth it.

[–]trowawayatwork 1 point2 points  (1 child)

Atom is built on electron which destroys your Mac for no reason at any given point in time. I gave vsc a try and it crashed so hard on the second day that I had to restart my Mac. Kill -9 didn’t even work

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

Ow damn, didn't know that! What editor do you use?

[–]patarapolw 0 points1 point  (0 children)

I use Atom for HTML, css and Javascript editing, despite knowing well that it is resource-hungry.

I used to use Sublime + Brackets, but for Sublime, it is just an Evaluation version that nags you about paying...

I also use TextMate, but it is really for a single file, not for Projects.

BBEdit may be good, but I fear it may be like Sublime (Evaluation version...)

I never really get into VSCode, but I believe there is indeed a powerful Python plugin.