pydoit / doit

CLI task management & automation tool
http://pydoit.org
MIT License
1.87k stars 175 forks source link

Dependency inconsistency in documentation #281

Closed ghost closed 5 years ago

ghost commented 5 years ago

While README is mentioning cloudpickle as dependency, http://pydoit.org/install.html, which I was using as reference, doesn't. This causes confustion because doit builds fine, but fails to run after being installed, since cloudpickle is just a runtime dependency.

Kwpolska commented 5 years ago

How did you install doit? setup.py explicitly specifies install_requires = ['cloudpickle'], and pip should respect that.

ghost commented 5 years ago

I did not use pip, I used the source code tarball doit-0.31.1.tar.gz and built a package for the Linux distro I'm using (Slackware Linux).

Relevant buildscript line was

python3 setup.py install --root=$PKG

I haven't seen any cloudpickle related errors, but after I have installed the produced package and ran doit from command line, I've got an error mentioning it. After building a package for cloudpickle as well and installing it I am able to run doit and it only complains about the missing dodo file, but doesn't display any traceback anymore, which is normal I think.

I have just checked again: after temporarily uninstalling cloudpickle from my system and manually running

python3 setup.py build

the command completes without complaning about missing cloudpickle

Kwpolska commented 5 years ago

When you’re creating a custom OS package for a Python thing, it’s generally expected to check setup.py for dependencies. Running setup.py does not install dependencies, since you’re expected to use pip if you want dependency management and such (as it’s a package manager). The install page does seem to be outdated though.

ghost commented 5 years ago

The install page does seem to be outdated though.

That is exactly my point: I have read the install notes in the docs on the official site, installed pyinotify and proceeded to write the script for doit. After it failed, I came here, saw the runtime dependency mentioned in the README, checked install.rst in the docs and it was missing there as well. So it is indeed not a matter of docs on the official site getting out of sync with the git repo, but rather that particular documentation snippet being out of sync with the README.

schettino72 commented 5 years ago

@somospocos sorry, but I do not see any inconsistency. http://pydoit.org/install.html does not mention setup.py, it only mentions pip...

ghost commented 5 years ago

@schettino72 not contesting your choice to close the issue by any means, just making sure we're not talking about different things. inconsistency as in "cloudpickle is mentioned as dependency in README.rst, but is not mentioned as dependency in install.rst (right there where pyinotify is)"

feel free to close again if you think this is a non-issue

schettino72 commented 5 years ago

README is targeted to someone who wants to work on doit itself.

install.html is targeted to users, it was never my intention to mention all dependencies on install documentation. pynotify is mentioned because it is a platform dependency that might not be supported on your system...