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. 208. Implement Trie (Prefix Tree)

    题目: Implement a trie with insert, search, and startsWith methods. 链接: http://leetcode.com/problems/i ...

  2. Winform 数据验证

    http://blog.scosby.com/post/2010/02/11/Validation-in-Windows-Forms.aspx 总结:1. CancelEventArgs e ,调用e ...

  3. linux目录/术语/英文

    1./bin :获得最小的系统可操作性所需要的命令2./boot :内核和加载内核所需的文件3./dev :终端.磁盘.调制解调器等的设备项4./etc :关键的启动文件和配置文件5./home :用 ...

  4. NuGet相关的文章

    NuGet学习笔记(1)——初识NuGet及快速安装使用http://www.cnblogs.com/zhwl/p/3377510.html NuGet学习笔记(2) 使用图形化界面打包自己的类库ht ...

  5. 【HDOJ】2242 考研路茫茫——空调教室

    tarjan缩点,然后树形dp一下可解.重点是重边的处理. /* 2242 */ #include <iostream> #include <sstream> #include ...

  6. Task的使用

    在.net4.0的时候推出的Task using System; using System.Threading; using System.Threading.Tasks; namespace Tas ...

  7. SCOI2010 and SXOI2014 股票交易(DP)

    明显的单调队列…… 但下面的程序一直有bug 附上题解:http://blog.csdn.net/njlcazl/article/details/8611042 附上我的代码: var head,ta ...

  8. 【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法

    机器学习中梯度下降(Gradient Descent, GD)算法只需要计算损失函数的一阶导数,计算代价小,非常适合训练数据非常大的应用. 梯度下降法的物理意义很好理解,就是沿着当前点的梯度方向进行线 ...

  9. 多线程程序设计学习(13)Active Object pattern

    Active Object[接收异步消息的对象] 一:Active Object的参与者--->客户端线程(发起某种操作请求处理)--->代理角色(工头)--->实际执行者(工人)- ...

  10. Using AngularJS with .NET MVC 5

    This tip shows the use of AngularJS with .NET MVC5 application. Here is a simple step-by-step exampl ...