====== Server ====== Install prerequisites: sudo apt-get install python-pip sudo pip install pypiserver passlib mkdir -p /opt/pypi/packages Add users who can upload packages htpasswd -c /path/to/.htaccess myusername Start the server pypi-server -p 8080 -P /path/to/.htaccess /opt/pypi/packages And visit your server via http http://myserver:8080/ Find more information at https://pypi.python.org/pypi/pypiserver ====== Build and upload packages ====== ===== Setup your Python project ===== .... Verify buildability python setup.py bdist_egg ===== Prepare pip upload ==== Edit or create a ~/.pypirc file with the following content: [distutils] index-servers = pypi internal [pypi] username:pypiusername password:pypipasswd [internal] repository: http://127.0.0.1:8080 username: myusername password: mypasswd And upload your egg to the server 'internal': python setup.py sdist upload -r internal ====== Install from your server ====== Now you are ready to (re)install sudo pip install --upgrade --force-reinstall -i http://127.0.0.1:8080/simple/ myegg More infos e.g. here http://mrtopf.de/blog/en/a-small-introduction-to-python-eggs/