[Python-ideas] from __pip__ import
Chris Barker
chris.barker at noaa.gov
Wed Sep 21 16:39:33 EDT 2016
On Mon, Sep 19, 2016 at 9:25 AM, אלעזר <elazarg at gmail.com> wrote:
> Many proposals to add something to stdlib are rejected here with the
> suggestion to add such library to pypi first. As noted by someone, pypi is
> not as reachable as stdlib, and one should install that package first,
> which many people don't know how. Additionally, there is no natural
> distinction between 3rd party dependencies and in-project imports (at least
> in tiny projects).
>
> This can be made easier if the first line of the program will declare the
> required library, and executing it will try to download and install that
> library if it is not installed yet.
>
yes, these are issues, but having a module or script download an install
something jsut to run is a really bad idea!
I handle it with something like:
try:
import some_package
except ImportError:
print("""This package requires "some_package": if you do not have it
installed, it can be installed with pip:
$ python -m pip install my_package
YOu can find more information aobut mypacakge at:
http://github.com/my_package
""")
raise
Where I've done this has been with ugly optional dependencies -- I don't
want to force the user to install the dep simply to run the code, if they
are not using features that require it, so I dont put it in teh
requiremetns in setup.py (Or conda, or...), But it's nice to get a
reasonable message if the user tries to use a feature that does require
that dependency.
note also that we don't want to force people to use pip to install packages
-- they may use conda, or the system package manager, or want to install
from source, or....
-CHB
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160921/982db9d5/attachment.html>
More information about the Python-ideas
mailing list