2018-05-17

生产环境的服务器(以下简称内网服务器)由于安全限制,可能无法连接外网。这种情况下将无法直接使用pip命令安装python的包

一、更改pip源

- 默认pip是使用Python官方的源,但是由于国外官方源经常被墙,导致不可用,我们可以使用国内的python镜像源,从而解决Python安装不上库的烦恼

网上有很多可用的源,例如:
豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
注意后面要有/simple目录!!! 

1、临时使用,只有安装pillow时使用指定源

1、临时使用,只有安装pillow时使用指定源

2、永久修改

Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

二、pip的安装

官方文档:   https://pip.pypa.io/en/stable/installing/

1、下载get-pip.py脚本执行

python get-pip.py

2、源码安装

  • setuptools (https://pypi.org/project/setuptools/#description)

tar zxvf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11

python setup.py install

  • 下载pip

进入https://pypi.python.org/pypi/pip,下载第二项。

解压下载的文件(windows下只用解压工具解压如RAR,Linux下终端输入tar -xf pip-9.0.1.tar.gz,即tar -xf 文件名),进入解压后的文件夹中,调出命令行窗口或者终端,

  • windows下输入
python setup.py install
  • Linux下输入
sudo python setup.py install
  • 安装成功后测试下,输入
pip -v

三、离线安装

1、通过代理服务器连接外网安装

内网服务器一般是通过跳板机连接的,若你的跳板机可以正常访问外网,则可以考虑在跳板机上架设代理服务器,然后目标服务器通过跳板机的代理访问外网。

$ export https_proxy=http://proxy.mydomain.com:<port>

$ export http_proxy=http://proxy.mydomain.com:<port>

$ pip install <package>

2、离线安装

若不具备使用代理服务器的情况,则先使用一台可以连接网络的服务器下载需要的packages,然后再拷贝到内网服务器上进行安装。

https://pip.pypa.io/en/stable/reference/pip_download/#pip-download

(1)下载需要离线安装的Packages

  • 安装单个Package
$ pip download -d path SomePackage  # equivalent to above

  • 安装多个Packages

 pip download -d path SomePackage  -r requirements.txt 

(2)将下载好的Packages拷贝至内网服务器

  • 使用scp、sftp等方式将下载好的Packages拷贝至需要离线安装这些包的内网服务器。

(3)  安装Packages

假设内网服务器的目录 /tmp/transferred_packages 包含你上一步远程拷贝过来packages,在内网服务器上执行如下命令

  • 安装单个Package的情况
pip install --no-index --find-links="/tmp/tranferred_packages" <package>
  • 安装多个Packages
pip install --no-index --find-links="/tmp/tranferred_packages" -r requirements.txt

  

生产服务器上安装Python的更多相关文章

  1. linux服务器上安装python 3.6.3

    一.下载源码包 地址https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz 二.解压源码包 1.下载解压工具xz #yum -y ins ...

  2. 在CentOS上安装Python

    首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...

  3. 远程编写+调试服务器上的Python程序

    原帖参见(需自备梯子):https://webcache.googleusercontent.com/search?q=cache:1htdR2EXj5wJ:https://www.digitaloc ...

  4. ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法

    原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...

  5. centos上安装python环境

    1.安装python-pip ​ 首先安装epel扩展源: ​ yum -y install epel-release ​ 更新完成之后,安装pip: ​ yum -y install python- ...

  6. 如何在一台服务器上安装两个mysql或者更多

    如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql ...

  7. 我为什么很烦在DB服务器上安装杀毒软件

    常见的数据库连接问题无外乎是在数据库服务器本地可以连接SQL Server,但通过其他服务器就不可以连接.但这次我却碰到了相反的情况,在服务器本地无法通过IP/实例名连接,但从其他服务器却可以.而且每 ...

  8. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  9. 在Windows Server 2012服务器上安装可靠多播协议

    为什么要安装可靠多播协议?   答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术 ...

随机推荐

  1. Java第09次实验(流与文件)

    第一次实验 0. 字节流与二进制文件 1.使用DataOutputStream与FileOutputStream将Student对象写入二进制文件student.data 二进制文件与文本文件的区别 ...

  2. 1.3 Junit4简介

    1.Junit4框架 可用于单元测试,直接测试类中的方法 2.简单实用 a.导入Junit的jar包 b.熟悉Junit的执行顺序 c.写测试用例 d.利用断言,找bug 3.demo public ...

  3. 使用conda安装命令时一直出现问题,因为从2019年4月添加的国内镜像都不能用了

    安装过程中出现以下问题:(历尽千辛万苦,终于才查到原来是清华源,腾讯源都不能用了)The remote server could not find the noarch directory for t ...

  4. golang开发问题

    开发问题: How to find out which types implement which interface in Golang? How do you quickly find the i ...

  5. git提交到分支

    git checkout grego@gregoo:mygo$ git checkout origin/test Note: checking out 'origin/test'. You are i ...

  6. flutter ListView列表和导航传值以及回调

    main.dart import 'package:flutter/material.dart'; void main(){ return runApp(MyApp()); } class Produ ...

  7. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_01.SpringMVC概述及入门案例

    第二章 第三章 第四章 三层框架 springMvc是表现层

  8. 什么是 go vendor

    go vendor 是golang引入管理包依赖的方式,1.5版本开始引进,1.6正式引进. 基本原理其实就是将依赖的包,特指外部包,复制到当前工程下的vendor目录下,这样go build的时候, ...

  9. 重叠IO 模型

    1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基础知识 4. 重叠模型的实现步骤 5. 多客户端情况的注意事项 一.重叠模型的优点   1.可以运行在支持Winsock2的所有W ...

  10. 【FICO系列】SAP 参数(条件表)灵活配置GS01/GS02/GS03

      公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 参数(条件表)灵活配 ...