有时候在无法联网的情况下需要搭建环境,且必须使用之前的环境,因为你的代码需要在同样的环境下运行。这样方便开发
方法一:
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' 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"