eyurtsev / fcsparser

A python parser for reading fcs files supporting FCS 2.0, 3.0, 3.1
MIT License
74 stars 45 forks source link

Add module requirements to setup.py #6

Closed xguse closed 7 years ago

xguse commented 7 years ago

You should have the reqs picked up and installed at the point of install.

eyurtsev commented 7 years ago

Thanks so much for taking the time to file a pull request!

I agree with you that it's strange to be able to install a package that's completely non-functional because of missing dependencies. I've considered adding numpy and pandas to setup.py in the past, but decided against it. My reasoning was that numpy and pandas are fairly heavy python packages and may require build dependencies that are not installable via pip. (e.g., does either package require an installation of cython or a fortran compiler?) If that's so, then the build-dependencies have to be installed manually, so having adding the packages to setup.py does not help. Main concern is that it can make it more difficult for a user new to python to understand what went wrong during the installation process.

Under which environment are you developing? Is having stuff defined in setup.py a major win?

xguse commented 7 years ago

I think that numpy might need to be compiled. My thoughts are that a person pip installing a package expects that package to be functional if it installed without error. Pip includes tracebacks and whatnot that explain what failed. Beginner or not dealing with tracebacks are required if someone is going to be doing anything other running a cli in Python.

But it is obviously up to you! Thanks for the response and thanks for the package!

Gus

Sent from my mobile. Please excuse any brevity, typos, and/or lack of nuance!

xguse commented 7 years ago

I forgot to answer your question. I develop on Linux, usually python 3 unless it's a really old library of mine. Usually I install using conda rather than pip. I was actually porting your pypi setup to a conda recipe when it failed to build for me due to the numpy thing. The great thing about conda is that the packages are all binaries so you can pull in all the deps no matter what your compile capabilities are.

Sent from my mobile. Please excuse any brevity, typos, and/or lack of nuance!