You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been talking a lot with @sils1297 about the best way for a project developer to tell their users to install a package without having to care about virtualenvs, and we found the best way would be to have an option like:
sudo fades --install=mypackage
In this case, fades would:
create a virtualenv, as usual (even reuse one if already has it!)
note1: user could do --install=mypackage==1.3
note2: or even do --install=mypackage=1.3 -d dep1 -d dep2 (but we really expect that 'mypackage' would have dependencies already defined at setup.py, directly usable by pip)
find out the scripts or entry-points defined in mypackage (possibly exploring mypackage's setup.py manually); these scripts/entrypoints were handled properly by setuptools in the virtualenv (it just copies the scripts, or create specific .py for the entry points)
copy those scripts to the same system path from where 'fades' is being executed (which AFAIK it would be the better way to know, in a sane multiplatformly way) which is the default system path)
Let's see for example what would happen with a sample project, 'coala':
you'll do: sudo fades --install=coala
it will create a virtualenv, install coala there, and you'll see how setuptools created scripts for coala's entry points:
From a usability POV I'd rather prefer if you'd use subcommands: fades install coala, without --. On the long run it'll bite you if you don't. (It's biting us :P)
We've been talking a lot with @sils1297 about the best way for a project developer to tell their users to install a package without having to care about virtualenvs, and we found the best way would be to have an option like:
In this case, fades would:
--install=mypackage==1.3
--install=mypackage=1.3 -d dep1 -d dep2
(but we really expect that 'mypackage' would have dependencies already defined at setup.py, directly usable by pip)Let's see for example what would happen with a sample project, 'coala':
sudo fades --install=coala
/usr/bin
because...The text was updated successfully, but these errors were encountered: