Skip to content

mjtorn/chishop

 
 

Repository files navigation

ChiShop/DjangoPyPI

Version: 0.3.0

Installation

Recommended to create a virtualenv for running this.

Install dependencies:

$ python bootstrap.py --distribute
$ ./bin/buildout

Initial configuration

$ cp chishop/custom_settings.py.example chishop/custom_settings.py
$ $EDITOR chishop/custom_settings.py
$ ./bin/django syncdb

You are most likely interested in configuring MEDIA_ROOT and STATIC_ROOT, although for development they should be fine.

Run the PyPI server

$ ./bin/django runserver

Please note that chishop/media/dists has to be writable by the user the web-server is running as.

In production

You may want to copy the file chishop/production_example.py and modify for use as your production settings; you will also need to modify bin/django.wsgi to refer to your production settings.

Using Setuptools

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

Uploading a package: Python >=2.6

To register the package with the local pypi:

$ python setup.py register -r local
To push the package (sdist, bdist_egg, upload executed sequentially) to the local pypi::
$ python setup.py sdist bdist_egg upload -r local

Note, bdist_egg will fail on old distutils, you should use distribute that supports it. Otherwise you can stick to uploading sdist.

And installing of course::
$ pip install -i http://localhost:8000 package

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:

$ easy_install -U collective.dist

instead of using register and dist command, you can use "mregister" and "mupload", that 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