tango-controls / pytango

This project was moved to gitlab.com
http://pytango.rtfd.io
54 stars 44 forks source link

PyTango slow installation [Improvements] #323

Closed mmphego closed 2 years ago

mmphego commented 4 years ago

Running pip install pytango usually takes over 10min depending on one's system as it tries to recompiles the c/c++ files. However, the installation speed can be improved by publishing pytango wheel as well as the tarball.

See: python-wheel

To reproduce

$ python setup.py sdist bdist_wheel
$ twine upload dist/*

By install pytango from wheel, this took just under 10 seconds. image

ajoubertza commented 4 years ago

I agree that the build time is slow. It would be nice to use a wheel, but won't the resultant binary be tightly coupled to the version of the cppTango runtime and other dependencies installed on the build system (e.g. boost, omniorb and zeromq)? I'm wondering if this wheel could be safely used on any version of Linux, where the source build could be done. It would also need to work inside a Conda environment.

For Windows we already have a binary package, but it is tightly couple to the cppTango version.

mmphego commented 4 years ago

Not sure if it's possible to generate multiple wheels that are dependent on specific runtimes.

Saw some examples here: https://python-packaging-tutorial.readthedocs.io/en/latest/binaries_dependencies.html#build-components-and-requirements

If that fails, I suppose we will need to compile pytango each time one installs it.