Say I have a python project named myproject, that depends on mydependency. Both are maintained by me.
How can I make a setup.py for myproject so that it always tries to install a new version of mydependency, regardless of the one installed?
Say I have a setup.py for a project with
setup(
...
install_requires=['mydependency'],
dependency_links = ['url_to_mydependecy_repo@develop#egg=mydependency'],
....
)
The problem is that, on the second time the installation runs, mydependency will already be installed, so the installation will not fetch the repo and try to install a newer version. Since mydependecy is being actively developed (by me), I need myproject's installation to always fetch the dependency link.
I've tried using #egg=mydependency-dev for the dependency_link and 'mydependency==dev' in install_requires, with version='dev' on the setup.py of mydepency, but on the second installation 'dev' is already present, so it doesn't get fetched again.
Using a requirements.txt for myproject, with the same content of dependency_links, does exactly the same. On the following installations, the requirement is already met, so it won't be fetched again.
Note: using pip -r requirements.txt --upgrade does what I want, but I'm not installing manually, but from Openshift, so I can't really add --upgrade