Issue
I have a python application that has flask dependency.
All I need is to create an RPM out of this application and with this RPM I should be able to install the dependencies to another machine.
Things I have tried,
- Created a setup.py file,
setup(
name='sample-package',
version='1.0.0.0',
author="Niranj Rajasekaran",
author_email="[email protected]",
package_dir={'': 'src/py'},
namespace_packages=['main'],
packages=find_packages('src/py/'),
install_requires=['Flask']
)
Ran this command
python setup.py bdist_rpm
Got two RPMs in
dist/
, one is noarch and other is srcI tried to install noarch rpm using this
yum install {generated-file}.rpm
I am able to get sample-package-1.0.0.0.egg
file in site-packages
but not flask.
Two questions,
- Is my approach correct?
- If so what is something that I am missing?
Solution
bdist_rpm
lack of a lot of function and IMO is not very well maintained. E.g. pyp2rpm
is much better for converting existing PYPI modules. But your module does not seem to be on PYPI, so you need to specify it to bdist_rpm
manually because it cannot retrieve this information from setup.py
.
Run:
python setup.py bdist_rpm --requires python-flask
This will produce an rpm files which requires python-flask
package. For more recent RHEL/Fedora it would be python3-flask
.
Answered By - msuchy