Hacker News new | ask | show | jobs
by _rerr 2098 days ago
In my company we use pyenv with virtualenv and everything works seamlessly. VSCode automatically runs the activate script from pyenv in a new terminal (in my case it is even the fish shell), debugging works fine, and I can go to definitions.

Note that a new extension, that works alongside the original python extension, has been developed by Microsoft: Pylance. It speeds things up based on pyright, a python type-checker.

For refactoring you can use rope [0] as a VSCode extension.

[0] https://github.com/python-rope/rope

1 comments

Hey, thanks for your input. I will look into using pyenv so that might solve my problem with "go to definitions".

However, I was also having a lot of trouble with environment variables, especially PYTHONPATH. How do you solve that?

Also rope did NOT work well for me. When I tried to refactor (rename) a function definition, it also changed variables in unrelated scopes that had the same name and were not related to the function at all. So I did not gain anything from that which I couldn't achieve using CTRL+F replace.

I've never had any trouble with PYTHONPATH, I guess this is solved by pyenv with virtualenv. You just need to select the project interpreter the first time you open the project and it should just work.

I haven't used rope extensively, it's too bad that it doesn't work well. It's open source so I guess it needs more contributions.