Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to installation of more packages into a venv #13

Closed
kwbr opened this issue Aug 26, 2014 · 9 comments
Closed

Allow to installation of more packages into a venv #13

kwbr opened this issue Aug 26, 2014 · 9 comments

Comments

@kwbr
Copy link

kwbr commented Aug 26, 2014

Say I have installed beet (http://beets.radbox.org/) with pipsi. beet has some optional dependencies which need to be installed if you enable one of the provided plugins. To use discogs you need the discogs-client package, to use lastgenre you need the pylast package.

So, in order to use those plugins it should be possible to install more packages into the venv.

@Qu4tro
Copy link

Qu4tro commented Aug 26, 2014

You can.

Go to ~/.local/vens/beets/
Activate virtualenv: source bin/activate
pip install pylast discogs-client
deactivate

Maybe we should add this to the README?

@kwbr
Copy link
Author

kwbr commented Aug 27, 2014

Mentioning this in the README would be great.

But as I see it, because pipsi is a wrapper around virtualenv and may use another virtual environment provider in the future, the installation of another package into the venv should also be wrapped.

@Qu4tro
Copy link

Qu4tro commented Aug 27, 2014

I understand your issue, but I'm not sure about that solution. I'm sure there are a lot of other similar issues(alongside installing additional packages), that are only solved with virtualenv access.

My idea was using an optional dependency to vex, to allow something like:

pipsi --virtualenv=beets pip install pylast discogs-client

On the other hand, using vex or any other wrapper on its own, it's probably better to avoid feature-creeping.

Maybe a small chapter on README to explain this issue and advice to new users?

@RonnyPfannschmidt
Copy link
Contributor

This one is depending on #52

@RonnyPfannschmidt
Copy link
Contributor

Aside from package we also should handle scripts as per #29

@glyph
Copy link

glyph commented Jun 25, 2017

Another great example here:

pipsi install devpi-web and pipsi install devpi both fail.

But, pipsi install devpi-server doesn't install devpi-web, which means I don't get the nice web UI.

@dhouck
Copy link

dhouck commented Jan 9, 2018

This also makes it really difficult to use Jupyter, especially if you want multiple kernels or to work with other packages in Jupyter.

@vlcinsky
Copy link

vlcinsky commented Jan 9, 2018

What about using sort of requirements.txt, but named according to virtualenv I want to use.

E.g. I want to install devpi with devpi-client and devpi-web.

I would create a devpi.requirements (just properly named requirements.txt):

devpi-client
devpi-server
devpi-web

and run:

$ pipsi install -r devpi.requirements

It would create virtualenv named devpi.requirements, install into it all the dependencies and symlink all the CLIs available. The file devpi.requirements would be placed into root of the virtualenv under name requirements.txt to have base for later upgrades.

It would be recommended to use the requirements without frozen version to allow updates.

With CLI symlinks and multiple packages installed into one virtualenv it is a bit more likely, more than one virtualenv will have CLI with conflicting name. This can happen today, but it would be a bit more likely.

@kwbr
Copy link
Author

kwbr commented Sep 15, 2023

stale

@kwbr kwbr closed this as not planned Won't fix, can't repro, duplicate, stale Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants