I'm in #python hell:

root ~ # /usr/local/bin/twine --version
twine version 1.15.0

But:

user ~ # /usr/local/bin/twine --version
twine version 1.9.1

🤔
Same computer, new shells.

@publicvoit
Have you consulted this?:
imgs.xkcd.com/comics/python_en

Also, yeah that's why I just use virtualenvs for user projects and leave my system python environment alone. Messed that up too many times

@jesse_m To be honest: I do not get virtualenv at all so far.
First: its bin dir messes up my bin dir of the source. Then: do I really have to activate all the envs after each boot? The tutorials do not address these questions so far AFAIR.

@publicvoit I could see that being confusing. The way I use it is I have a virtualenv for most large projects. I tend to keep them all in "~/.venvs/$PROJECT". So I have a bunch of virtualenvs. Since that activate script is just changing environment variables you have to do it for each shell. I didn't think about doing it in your bashrc or something though. I think that would mess things up since sometimes you might need to interact with your system's python install

@jesse_m Thanks for your answers!
If you use "~/.venvs/$PROJECT" you should end up with *one* venv and not with multiple as you were mentioning. Shouldn't it be ""~/$PROJECT/.venvs/"?
If not, what was your rationale to share one venv with multiple projects?

@publicvoit I actually use it both ways. When I have a class of projects that make use of the same required python packages I have a python env that I put there. If I have something very project specific I try and put it in the project's directory and add it to the .gitigore since they aren't very portable and I don't think you'd want that tracked anyways.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!