linux环境中没有网络怎么下载python

yipeiwu_com5年前Python基础

有时候在无法联网的情况下需要搭建环境,且必须使用之前的环境,因为你的代码需要在同样的环境下运行。这样方便开发

方法一:

1.下载指定的包到指定文件夹。
 pip list #查看安装的包
  pip freeze > requirements.txt  将已经通过pip安装的包的名称记录到 requirements.txt文件中
 创建存放安装包的目录:mkdir /packs
      pip install  --download  /packs pandas(存放一个pandas包)
             或
       pip install  --download  /packs -r requirements.txt(存放requirements.txt列出的所有包)
2.安装指定的离线包
  pip install  --no-index  --find-links=/packs/  pandas 或
  pip install  --no-index  --find-links=/packs/  -r  requirements.txt  (也可能是 --find-link)

但是这种方法经过本人测试会出现很多问题,比如在 pip install --download /packs -r requirements.txt该操作可能会出现无法下载某些包,而且下载完成包后在新的服务器上安装可能缺少依赖关系安装不成功。

方法二:

那就是利用集成环境---Anaconda,这个安装的话超级简单,因为这是一个封装好的环境,你之后下载安装的python第三方包都在这个环境下,这样你只需把安装好的Anconda包拷贝到未联网的服务器下就可以了(当然需要在.bashrc上配置)。

第一步现在安装Anconda:

从官网下载Anconda安装包,这里我用的是Anaconda3-5.2.0-Linux-x86_64.sh。

bash Anaconda3-5.2.0-Linux-x86_64.sh

一路Enter,Y,然后提醒你配置环境

echo 'export PATH="/home/wwk/anaconda3/bin:$PATH"' >> ~/.bashrc
source .bashrc

当然中间还让你选择安装路径,一般选择默认就OK,现在验证是否安装成功

conda -V

如果出现版本号,那么就成功了。

第二步安装自己需要的包:

Anconda 里面集成pip,和 conda,当然这两个都可以下载各种包,pip isntall somepackage ,conda install somepackage但是用conda命令下载的可能会出现一个问题 ,你所需要的安装包不一定会命中(因为国内镜像通道可能找不到),以py2neo包为例

wwk@wwk-Aspire-V3-572G:~$ conda install py2neo
Fetching package metadata .............
 
PackageNotFoundError: Packages missing in current channels:
      
 - py2neo
 
We have searched for the packages in the following channels:
      
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
 - https://repo.continuum.io/pkgs/main/linux-64
 - https://repo.continuum.io/pkgs/main/noarch
 - https://repo.continuum.io/pkgs/free/linux-64
 - https://repo.continuum.io/pkgs/free/noarch
 - https://repo.continuum.io/pkgs/r/linux-64
 - https://repo.continuum.io/pkgs/r/noarch
 - https://repo.continuum.io/pkgs/pro/linux-64
 - https://repo.continuum.io/pkgs/pro/noarch

那么我们有两种办法:

1、最直接的话我们从其他途径直接下载我们需要的安装包,比如从github下载zip,tar.gz等压缩包解压后进入解压目录 使用python setup.py install命令安装(注意此时需要 which python看下环境是否在anconda中,这样才能确保安装到anconda环境中),其实还可以直接pip(anconda内嵌)安装也比较方便。

2、那么接着上面出现的问题解决,输入 :anaconda search -t conda py2neo

 
wwk@wwk-Aspire-V3-572G:~$ anaconda search -t conda py2neo
Using Anaconda API: https://api.anaconda.org
Packages:
   Name           | Version | Package Types  | Platforms    | Builds  
   ------------------------- |  ------ | --------------- | --------------- | ----------
   auto/py2neo        |  1.6.4 | conda      | linux-64, linux-32 | py27_0  
                     : http://nigelsmall.com/py2neo
   bioconda-legacy/py2neo  |  3.1.2 | conda      | linux-64, osx-64 | py36_0, py27_0, py35_0, py34_0
   cmckeague/py2neo     |   3b1 | conda      | linux-armv7l  | py27_0  
                     : Python client library and toolkit for Neo4j
   conda-forge/py2neo    | 4.0.0b2 | conda      | linux-64, win-32, osx-64, win-64 | py36_0, py35_0, py27_0
                     : Python client library and toolkit for Neo4j
   ivoflipse/py2neo     |  1.6.4 | pypi, conda   | win-64     | py27_0  
                     : Python client library for the Neo4j REST server
   mutirri/py2neo      |  2.0.8 | conda      | linux-64, win-32, win-64, osx-64 | py27_0, py33_0, py35_0, py34_0
                     : Python client library and toolkit for Neo4j
Found 6 packages
 
Run 'anaconda show <USER/PACKAGE>' to get installation details

之后输入:anaconda show conda-forge/py2neo 就可以看到你要安装包的通道

wwk@wwk-Aspire-V3-572G:~$ anaconda show conda-forge/py2neo
Using Anaconda API: https://api.anaconda.org
Name:  py2neo
Summary: Python client library and toolkit for Neo4j
Access: public
Package Types: conda
Versions:
  + 4.0.0b2
  + 3.1.2
 
To install this package with conda run:
   conda install --channel https://conda.anaconda.org/conda-forge py2neo

根据最后一行的提示我们copy输入即可

wwk@wwk-Aspire-V3-572G:~$ conda install --channel https://conda.anaconda.org/conda-forge py2neo
Fetching package metadata ...............
Solving package specifications: .
 
Package plan for installation in environment /home/wwk/anaconda3:
 
The following NEW packages will be INSTALLED:
 
  neo4j-python-driver: 1.1.0rc1-py36_0    conda-forge                      
  py2neo:       4.0.0b2-py36_0    conda-forge                      
 
The following packages will be UPDATED:
 
  conda:        4.3.30-py36h5d9f9f4_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free --> 4.5.11-py36_0 conda-forge
  conda-env:      2.6.0-0        https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free --> 2.6.0-1    conda-forge
 
Proceed ([y]/n)? y
 
conda-env-2.6. 100% |#####################################################################| Time: 0:00:00  1.34 MB/s
neo4j-python-d 100% |#####################################################################| Time: 0:00:00 72.70 kB/s
py2neo-4.0.0b2 100% |#####################################################################| Time: 0:00:00 176.24 kB/s
conda-4.5.11-p 100% |#####################################################################| Time: 0:00:02 230.86 kB/s

最后不要忘记打开python 环境导入包试下,是否成功。

上面这些操作也就是在有网的环境下完全布置好你的运行环境。那么恭喜你已经完成了99%了

第三步:把安装后的anconda3压缩打包好anconda3.zip,拷贝到你要安装的未联网的服务器上,我放在了/home/wwk/anaconda3

最后:

unizp anaconda3.zip -d /home/wwk/anaconda3
vim .bashrc
 
# added by Anaconda3 installer
export PATH="/home/wwk/anaconda3/bin:$PATH"

 

相关文章

如何使用Python多线程测试并发漏洞

如何使用Python多线程测试并发漏洞

这篇文章主要介绍了如何使用Python多线程测试并发漏洞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求介绍 有时候想看看Web应...

django的ORM操作 增加和查询

ORM 对象关系映射 在数据库中,实现对数据的增删改查,使用的是SQ语句, 在django中,通过python代码,实现对数据库的增删改查,这就是ORM。 在python中,用类名 代表...

Python程序设计入门(3)数组的使用

1、Python的数组可分为三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其...

python使用pygame模块实现坦克大战游戏

python使用pygame模块实现坦克大战游戏

本文实例为大家分享了pygame模块实现坦克大战游戏的具体代码,供大家参考,具体内容如下 首先,第一步,游戏简单素材的准备。 炮弹,炮弹,坦克移动。音乐-开火素材。 其次,思路整理。 我...

Python实现二叉搜索树

Python实现二叉搜索树

二叉搜索树 我们已经知道了在一个集合中获取键值对的两种不同的方法。回忆一下这些集合是如何实现ADT(抽象数据类型)MAP的。我们讨论两种ADT MAP的实现方式,基于列表的二分查找和哈...