apache和mod_python的egg代理
iw.eggprox的Python项目详细描述
What is iw.eggproxy ?
eggproxy是apache mod_python的一个模块。它的目的是充当一个pypi 代理。
其主要思想是根据需要在本地镜像。在第一次运行时,它将下载pypi 索引并建立一页链接。当一个软件要求一个特定的包时, 版本,…如果需要,将由iw.eggproxy下载。所有文件都是 最终由apache作为静态内容提供服务。Eggproxy只负责 检查是否必须(并且可以)先下载它。
How to use iw.eggproxy ?
你需要apache的mod_python 3.3。它不能与以前的版本一起使用。
Debian Etch用户:Etch提供3.2,因此Etch用户必须获得源代码 从“lenny”(测试)打包并用dpkg buildpackage重新构建。请拿着 查看本文档中的相关部分以获取帮助。
配置文件:
目前它的位置固定在/etc/apache2/eggproxy.conf:
[default] eggs_directory = /path/to/pypi index = http://pypi.python.org/simple # update information for files older than 24h update_interval = 24
apache设置http://servername/pypi:
Alias /pypi "/path/to/pypi" <Directory "/path/to/pypi"> Order allow,deny Allow from all SetHandler mod_python PythonFixupHandler iw.eggproxy.apache_handler::fixup_handler PythonInterpreter main_interpreter PythonOption URLPrefix /pypi PythonPath "sys.path+['/path/to/iw.eggproxy']" </Directory>
apache必须能够写入“/path/to/pypi”!(通常apache用户是 www数据。要更新代理鸡蛋信息,必须添加脚本 eggproxy_update进入此用户的crontab。
mod_python update on Debian Etch:
来自Debian“Lenny”来源的快速构建说明:
$ sudo apt-get build-dep libapache2-mod-python $ sudo apt-get install fakeroot
访问http://packages.debian.org/sources/lenny/libapache2-mod-python并获取 具有以下扩展名的文件:
- .dsc
- .orig.tar.gz
- .diff.gz
$ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1-3.dsc $ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1.orig.tar.gz $ wget http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-python/libapache2-mod-python_3.3.1-3.diff.gz $ tar xpvzf libapache2-mod-python_3.3.1.orig.tar.gz $ cd mod_python-3.3.1/ $ gzip -dc ../libapache2-mod-python_3.3.1-3.diff.gz |patch -p1 $ chmod +x debian/rules $ dpkg-buildpackage -rfakeroot -b $ cd ..
您应该有以下文件:
- libapache2-mod-python_3.3.1-3_i386.deb
- libapache2-mod-python-doc_3.3.1-3_所有.deb
最后一步是调用dpkg
$ sudo dpkg -i libapache2-mod-python_3.3.1-3_i386.deb