Windows 环境下基于 nginx 的本地 PyPI 源的搭建:

1.登录 nginx 官网,下载安装包
下载稳定版,并解压缩。

2.启动 nginx 服务
以管理员身份启动 nginx.exe。 
访问 localhost,出现如下页面即证明 nginx 安装并启动成功。
3.安装 pip2pi 工具
pip install pip2pi
4.创建软件包仓库目录
假设创建软件包仓库目录为 C:\Python27\soft\pypi.zsz.net
5.下载软件包并建立索引
下载软件包并建立索引有两种方式,分别如下。
a.使用 pip2tgz 及 dir2pi 命令分开执行
①.下载软件包
注意:通过 pip2tgz 命令可以下载对应的软件包,应下载至软件目录仓库下。
(1).软件包单个下载
假设下载 celery(3.1.23)版本,则命令如下
# pip2tgz C:\Python27\soft\pypi.zsz.net celery==3.1.23
(2).软件包批量下载
按如下格式编辑软件包列表 requirements.txt
Flask==0.11.1
Flask-Mail==0.9.1
随后,使用如下命令进行批量下载。

# pip2tgz C:\Python27\soft\pypi.zsz.net -r requirements.txt

②.建立索引
注意:通过 dir2pi 命令将目录中的软件包创建索引。
为软件包仓库目录 C:\Python27\soft\pypi.zsz.net 创建索引,命令如下。

# dir2pi --normalize-package-names C:\Python27\soft\pypi.zsz.net

注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。

b.使用 pip2pi 命令统一执行

注意:pip2pi 将会下载所需的软件包,随后为存在的软件包创建索引。

(1).软件包单个下载假设下载 celery(3.1.23)版本,则命令如下
# pip2pi --also-get-source --normalize-package-names C:\Python27\soft\pypi.zsz.net celery==3.1.23

注意:需加入 --also-get-source 修饰,除了下载 wheel、eggs 等格式的软件包外,还讲下载软件包的源文件,从而确保不同平台上的使用
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。

(2).软件包批量下载

按如下格式编辑软件包列表 requirements.txt

Flask==0.11.1

Flask-Mail==0.9.1

随后,使用如下命令进行批量下载。

# pip2pi --also-get-source --normalize-package-names C:\Python27\soft\pypi.zsz.net -r requirements.txt

注意:需加入 --also-get-source 修饰,除了下载 wheel、eggs 等格式的软件包外,还讲下载软件包的源文件,从而确保不同平台上的使用
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。

6.配置 nginx 服务

在 nginx 的 conf 目录下,修改 nginx.conf。
例如:为了在本机上搭建 PyPI 源,且网站根路径为 C:\Python27\soft\pypi.zsz.net,则 nginx,conf 的内容可类似如下。
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  #日志格式
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    server {
        listen       80;
        server_name localhost; #服务器名
        root C:\Python27\soft\pypi.zsz.net; #网站根目录路径
        access_log  logs/host.access.log  main; #开启登录日志
        location / {
            autoindex on; #列出整个目录
            autoindex_exact_size off; #关闭显示出文件的确切大小
            autoindex_localtime on; #显示的文件时间为GMT时间
            limit_rate 200k; #限制传输速度为200k
        }
    }
}
7.重启 nginx 服务
终止 nginx.exe 进程,并重新执行步骤 2。
访问 http://pypi.zsz.net/simple,出现如下页面即证明 PyPI 本地源配置成功。
 
Windows 环境下基于 nginx 的本地 PyPI 源的使用:
使用类似如下命令,利用本地 PyPI 源安装软件包。注意:其安装方式与利用外部源安装一致,可参考《PyPI 官方第三方库仓库安装工具 pip》。
# pip install --index http://pypi.zsz.net/simple --trusted-host=pypi.zsz.net celery==3.1.23
注意:当配置的源为 http 而非 https 时,需要加入 --trusted-host 描述,确保主机被信任,否则将无法使用本地 PyPI 源安装软件包。
注意:当使用域名解析本地 PyPI 源时,应确保 DNS 解析正确。
 
Windows 环境下基于 nginx 的本地 PyPI 源软件包的维护:
1.使用 pip2tgz 下载 dir2pi 更新软件包索引目录
a.下载软件包
注意:通过 pip2tgz 命令可以下载对应的软件包,应下载至软件目录仓库下。
(1).软件包单个下载
假设下载 celery(3.1.23)版本,则命令如下
# pip2tgz C:\Python27\soft\pypi.zsz.net celery==3.1.23
(2).软件包批量下载
按如下格式编辑软件包列表 requirements.txt
Flask==0.11.1
Flask-Mail==0.9.1
随后,使用如下命令进行批量下载。
# pip2tgz C:\Python27\soft\pypi.zsz.net -r requirements.txt
b.更新索引
注意:通过 dir2pi 命令将目录中的软件包更新索引。
为软件包仓库目录 C:\Python27\soft\pypi.zsz.net 更新索引,命令如下。
# dir2pi --normalize-package-names C:\Python27\soft\pypi.zsz.net
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。
2.使用 pip2pi 下载并更新软件包索引目录
注意:pip2pi 将会下载所需的软件包,随后为新增的软件包更新索引。
(1).软件包单个下载
假设下载 celery(3.1.23)版本,则命令如下
# pip2pi --also-get-source --normalize-package-names C:\Python27\soft\pypi.zsz.net celery==3.1.23
注意:需加入 --also-get-source 修饰,除了下载 wheel、eggs 等格式的软件包外,还讲下载软件包的源文件,从而确保不同平台上的使用。
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。
(2).软件包批量下载
按如下格式编辑软件包列表 requirements.txt
Flask==0.11.1
Flask-Mail==0.9.1
随后,使用如下命令进行批量下载。
# pip2pi --also-get-source --normalize-package-names C:\Python27\soft\pypi.zsz.net -r requirements.txt
注意:需加入 --also-get-source 修饰,除了下载 wheel、eggs 等格式的软件包外,还讲下载软件包的源文件,从而确保不同平台上的使用。
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。
3.手动下载并使用 dir2pi 更新软件包索引目录
a.下载软件包
手动下载软件包文件,并将其存放至软件包仓库目录下。
b.更新索引
注意:通过 dir2pi 命令将目录中的软件包更新索引。
为软件包仓库目录 C:\Python27\soft\pypi.zsz.net 更新索引,命令如下。
# dir2pi --normalize-package-names C:\Python27\soft\pypi.zsz.net
注意:需加入 --normalize-package-names 修饰,这样能格式化命名不符合规范的软件包,使其可以被正常识别。

Windows 环境下基于 nginx 的本地 PyPI 源的更多相关文章

  1. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  2. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。

    php-cgi 是运行php,php-fpm是守护php-cgi进程 nginx配置目录运行php        location  ~ \.php$        {                 ...

  3. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  4. Linux和Windows环境下安装Nginx

    Nginx的安装 windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点 ...

  5. Windows环境下使用Nginx搭建负载均衡

    前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...

  6. windows环境下安装nginx

    (1)下载 官网:http://nginx.org/en/docs/windows.html 下载:http://nginx.org/en/docs/windows.html 点击:nginx/Win ...

  7. Windows 环境下基于 Redis 的 Celery 任务调度模块的实现

    搭建环境: Windows-x64 10 Celery 3.1.23 Celery-with-redis 3.0 Redis-win32-win64 2.4.5   实现步骤: 1.安装 Redis ...

  8. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  9. windows环境下基于pycharm安装Redis出现的两个错误解决方案

    说明:下面给出的两个链接是解决安装和使用Redis的时候遇到的两个问题参考的博客网址,本文有解释不清楚的地方可以原博客查看,侵权删! Q1参考链接-https://blog.csdn.net/maqu ...

随机推荐

  1. JS动画 | 用TweenMax实现收集水滴效果

    之前在CodePen上接触了TweenMax, 被它能做到的酷炫效果震撼了. (文末放了5个GSAP的效果GIF) 最近要做一个"收集水滴"的动效, 于是就试用了一下TweenMa ...

  2. JavaScript DOM高级程序设计2.1创建可重用的对象--我要坚持到底!

    1.对象中包含什么 在javascript中,从函数到字符串实际上都是对象 继承 //创建一个person对象的实例 var penson={}; person.getName=function(){ ...

  3. 使用ANT打包Android应用

    大家好,今天来分享一下如何使用ANT打包Android应用. 通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序.如果在Navigator视图下,我们可以看到以下几 ...

  4. chrome插件background.js 和 popup.js 交互

    要实现background.js 和 popup.js 之间的交互,首先需要先配置好 manifest.json文件,如: "background":{ //"page& ...

  5. chrome渲染hover状态tranform相邻元素抖动bug

    最近同事在使用 css3 的 transition + tranform 的时候影响了相邻的元素出现bug.或者说相邻的元素出现抖动bug. 然而把 hover 状态的 tranform 属性删了后, ...

  6. <s:property="a" value=""/>取的<s:debug></s:debug>中的value stack中的属性值

    <s:property="a"  value=""/>取的<s:debug></s:debug>中的value stack中 ...

  7. Css3 Media Queries移动页面的样式和图片的适配问题(转)

    CSS3 Media Queries 摘自:http://www.w3cplus.com/content/css3-media-queries Media Queries直译过来就是“媒体查询”,在我 ...

  8. Mint Linuxubuntu 字体配置文件

    <?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fon ...

  9. Java [leetcode 27]Remove Element

    题目描述: Given an array and a value, remove all instances of that value in place and return the new len ...

  10. 【转】Cygwin的包管理器:apt-cyg

    原文网址:http://zengrong.net/post/1792.htm Cygwin的包管理工具setup.exe实在是难用的让人蛋碎.于是就有了这样一个apt-cyg,可以提供类似于 apt- ...