rpm-software-management / rpm

The RPM package manager
http://rpm.org
Other
495 stars 359 forks source link

Install rpm-python from PyPI #273

Closed tkdchen closed 7 years ago

tkdchen commented 7 years ago

It would be nice to install rpm-python from PyPI, or at least, it can be installed via pip git+https.

ignatenkobrain commented 7 years ago

personally I'm kinda reluctant for native extensions for Python being in PyPI...

ignatenkobrain commented 7 years ago

why do you need it in that way?

tkdchen commented 7 years ago

It's for rpkg. Both running tests just in one command, for example, tox and provision dev env with pip requirement file can benefit.

For the case of running tests, currently developer has to install either python2-rpm or python3-rpm via dnf manually and then run tox to create virtual environments with --sitepackages (whatever specify in command line or in tox.ini). This can be simplified by this issue I think.

Conan-Kudo commented 7 years ago

The Python bindings are basically bound to rpm, so it doesn't make a lot of sense to upload to PyPI.

junaruga commented 7 years ago

I would share a case I want you to upload the the rpm Python bindings to PyPI.

A python package rebase-helper [1] depends on the rpm Python bindings. For this reason, rebase-helper can not add install_requires to setup.py file.

If we want to install rebase-helper from source, I am happy if we can install it by only

$ pip install rebase-helper

[1] https://github.com/rebase-helper/rebase-helper

pmatilai commented 7 years ago

As already noted, the bindings are closely bound to rpm and a particular version of it. Sorry but no.

junaruga commented 7 years ago

@tkdchen and guys. Let me announce.

I developed a installer to install rpm-python or rpm (same version with system RPM) on non-system Python. People can install rpm-python by installing rpm-py-installer from PyPI.

https://pypi.python.org/pypi/rpm-py-installer https://github.com/junaruga/rpm-py-installer

$ pip install rpm-py-installer

Or add rpm-py-installer to setup.py install_requires.