djangopypi
djangopypi copied to clipboard
Simple PyPI server written in django. Allows you to register/upload with distutils and install with easy_install/pip.
DjangoPyPI
DjangoPyPI is a Django application that provides a re-implementation of the
Python Package Index <http://pypi.python.org>
_.
Installation
Path
The first step is to get djangopypi
into your Python path.
Buildout ++++++++
Simply add djangopypi
to your list of eggs
and run buildout again it
should downloaded and installed properly.
EasyInstall/Setuptools ++++++++++++++++++++++
If you have setuptools installed, you can use easy_install djangopypi
Manual ++++++
Download and unpack the source then run::
$ python setup.py install
Django Settings
Add djangopypi
to your INSTALLED_APPS
setting and run syncdb
again
to get the database tables [#]_.
Then add an include in your url config for djangopypi.urls
::
urlpatterns = patterns("",
...
url(r'', include("djangopypi.urls"))
)
This will make the repository interface be accessible at /pypi/
.
Uploading to your PyPI
Assuming you are running your Django site locally for now, add the following to
your ~/.pypirc
file::
[distutils]
index-servers =
pypi
local
[pypi]
username:user
password:secret
[local]
username:user
password:secret
repository:http://localhost:8000/pypi/
Uploading a package: Python >=2.6
To push the package to the local pypi::
$ python setup.py register -r local sdist upload -r local
Uploading a package: Python <2.6
If you don't have Python 2.6 please run the command below to install the backport of the extension for multiple repositories::
$ easy_install -U collective.dist
Instead of using register and dist command, you can use mregister
and
mupload
which are a backport of python 2.6 register and upload commands
that supports multiple servers.
To push the package to the local pypi::
$ python setup.py mregister -r local sdist mupload -r local
.. [#] djangopypi
is South enabled, if you are using South then you will need
to run the South migrate
command to get the tables.