Reputation: 155
I've written a python package that I would like to share with my coworkers, but I can't find how to install it alongside other packages installed through pip.
When issuing the following command, the package is successfully installed and I can use the package from anywhere on the system:
$ git clone git.adress.com/greatmodule.git
$ cd greatmodule
$ pip install .
However if someone delete the greatmodule/
directory, the package becomes unusable.
I'd like the module to be installed alongside other packages installed with pip
, for instance under C:/Program Files/Python/Lib/site-packages
in my case.
Is that possible / is it recommended?
Upvotes: 0
Views: 421
Reputation: 1752
There two better solutions that comes to mind instead of the one you are trying:
Pip supports installing a package from a git repository.
For example lets suppose you connect to your remote repository via ssh you can use the following (assuming:
pip3 install git+ssh://[email protected]/greatmodule.git
If you are using https to connect to repo:
pip3 install git+https://git.address.com/greatmodule.git
If using a specific branch:
pip3 install git+https://git.address.com/greatmodule.git@branch-name
Add repo as submodule:
git submodule add https://git.address.com/greatemodule.git
Then add submodule to PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/directory_absolute_path
Then you can create source distribution (you'll need to package your app using setup.py that it should contain your packages names and versions)
python3 setup.py -q sdist --dist-dir=../package_directory
Then you can install the source distribution as normal package
Upvotes: 1