I am creating a setup.py to distribute my application. This application has a number of dependencies which can be installed via pip, it also has some custom
Extending wiesiu_p's answer, you can install the dependency by linking to its source directory, which has its own setup.py
.
Assume you have the source files of your dependency my-dependency
, and the root of my-dependency
has its own setup.py
. In your application's setup.py
:
setup(
...,
install_requires=['other-dependency','my-dependency'],
dependency_links=[
# location to your my-dependency project directory
''.join(['file:\\', os.path.join(os.getcwd(), 'path', 'to', 'my-dependency#egg=my-dependency-1.0')])
]
)
Now if you run python setup.py install
with your application's setup.py
, it will install my-dependency
.
There are several options that you can choose from:
dependency_links
.my_app
package and link it with packages
parameter, instead of using the wheel file.setuptools
api, and install the package by yourself.it is possible but not sure what setuptools version you should use. steps:
in setup.py
setup(
...,
install_requires=['my-package'],
dependency_links=[
# location to your egg file
os.path.join(os.getcwd(), 'deps', 'my_package-1.0.0-py3.5.egg')
]
)
important thing is that your location should not pass URL pattern test and egg file name should have structure <package_name_with_no_hyphens>-<version>-<py_version>.egg