
在完全没有网络连接这种状况之下, 要是想要弄到那个安装包的话, 那第一个办法就是先去进行离线安装包的下载工作。在没有使用外网的情况里面, 如果需要那个安装包的话, 那么可以考虑去下载离线的那种安装包, 然后采取这样的方式来实施安装工作, 这个方法它自身具有自动去下载各种依赖关系的包whl文件的能力, 所以非常建议大家采用这种方式。首先需要找一台可以连接外部网络的计算机, 然后在这台上通过运行pip命令来把所需软件包以及它们的依赖项都安装下来。接着把这些已经装好的东西统一打包保存到一个文件里, 或者存到本地硬盘里面, 也可以存到移动存储设备里, 比方U盘之类的, 反正就是先下载完再打包带走。就拿numpy这个软件包来说吧。pip numpy -d /path/to/ --no-用户可以使用-d这个参数, 来明确地把下载到的那个安装包保存路径给规定好了, 并且, 用户还可以用上–no-这个选项, 其目的就是要禁止系统去下载那些已经编译好的二进制类型的文件包, 这么做的原因在于, 为了防止出现由于运行环境不同而导致的平台兼容性问题。把下载完成的包打包起来存到电脑里或者是移动存储设备中, 这样的例子包括。tar czf numpy.tar.gz /path/to/然后之后, 你要把这个压缩包拷贝到那个待安装环境所在的那台机器上, 最后再解压就可以了。执行解压命令 tar xzf numpy.tar.gz, 并且使用选项 -C 来指定目标路径为 /path/to/。在解压后的目录中运行安装命令即可。pip numpy***.whl -f /path/to/这个说法里的意思是, 那个叫做 -f 的参数呢, 作用是用来指定一个额外的索引的地址的, 说白了就是那个离线安装包所在的那个具体的目录路径, 就是这么个东西。这里还有一些额外的话要说明。这是在项目中遇到的实际状况, 因为负责下载包的电脑和在运行服务器的那台电脑上面, 无网络的版本号完全不一样这就导致有一些对版本号要求特别严格的包很难去下载到那种合适的版本号, 所以强烈建议大家一定要在有网的那些电脑当中去下载, 并且让版本号与服务器上面的版本号保持一模一样, 然后这样来把这件事情给处理掉。二、使用代理服务器假如说离线安装包没有办法进行下载的话, 就可以去尝试使用代理服务器的这种方式来进行安装包的部署与操作。用户可以在执行软件安装操作的这个阶段, 明确地指定作为代理的服务器的主机地址以及对应的端口编号, 比如说:pip --proxy::port其中的那个叫作–proxy的参数是用来指定代理服务器的地址加上端口的, 如果这个场景下面需要去进行认证操作的话, 那么就能够在地址的末尾位置去添上用户的用户名还有密码这两个东西。如果需要使用Socks代理可以使用–proxy参数的选项例如pip --proxy://user::port当大家需要去使用Http代理这个玩意儿的时分, 那么就可以用那个叫作http的选项, 也就是那个加在--proxy后面的参数来办到这一点儿, 好比下面的这么一种样子。pip --proxy::port三、手动安装依赖如果那个包, 需要依靠第三方库才能运行, 而这些第三方库, 你也通过, 下载或者代理服务器的方式, 没办法搞定, 那么你可以考虑一个办法, 就是手动去安装这些依赖。第一步是去把这些库的安装包给找出来, 这一步呢可以放到一台有外网连接的机器上做, 在那在上面把东西下下来然后打包好存到本地电脑或者是那种移动硬盘里面去, 接下来再去那台要装上这些库的机器上面, 把它们解压开然后自己手动进行安装操作。tar xzf .tar.gz -C /path/to/pip /path/to//因为需要安装的那个依赖库自身还有其他需要的依赖库, 所以需要把每一个这样的库都去手动进行安装, 并且要一个接一个地去操作。四、使用conda除了pip之外, 我们还可以利用conda工具来执行软件包的安装任务呢。在没有外网的情况下, 可以选用conda-pack这个工具来做一件事情, 这个事情就是把你需要安装的那些包以及它们相对应的依赖关系统一打包在一起, 举例来说的话:conda --name 3.8condacondaconda pack -n在这里面, –name这个参数是用来指定那个刚刚创建出来的环境的名字的, 而那个conda pack命令的作用呢, 就是把整个环境底下的所有相关文件给打包到一起, 弄成一个.tar.gz格式的压缩包, 最终保存到你的本地电脑上面或者是移动存储设备里面去。随后, 于那个存放有待安装环境的计算设备上面, 对已经打包好的文件实施解压操作, 接下来采用名为conda的软件工具来完成后续的安装环节。tar xzf .tar.gzconda -- /path/to// 3.8conda-你要先弄一个空的conda环境, 并且把参数设置成你想要安装的那个环境的存储位置, 接着用这个解压缩包的工具来处理一下压缩文件, 最后再利用conda提供的这个命令去把这个给激活起来。五、在使用wheel文件的过程中。如果说你需要安装的那个包它自己本身没有依赖的话, 那么你就可以使用wheel这个文件来进行安装的。在第一步这个环节, 大家需要先到那台能连上外部网络的计算机上去把那个相匹配的轮子安装包给弄下来, 紧接着呢, 就得转到那个真正要装软件的环境所在的另外一台机器里头去, 然后利用pip这个工具来完成安装的操作, 具体的例子如下所示。那个名为 pip 的包, 其版本号是负三之二点七, 文件后缀为 py3 none any dot whl。如果你需要去指定那个另外的索引的地址的话, 你就能够用到-f这个参数, 好比说:pip -3.2.7-py3-none-any.whl -f其中, - f 参数指定了额外的索引地址, 这里的做法是使用了清华大学的 pip 源。需要说明的是, 上述那些方法、还有那篇文章, 它们都是来自于某个地方。使用Ctrlc这个动作是用来进行学习的, 我在第一次看到内容特别齐全的介绍的时候, 就会特别地去把它给记录下来, 因为在很多时候我们的实际的工作环境中是没有网络的, 这个时候如果想要离线去安装一些包的话, 这种做法真的是太方便了。另外呢, 方法方面是齐全的, 但是依然还有一些问题和地方是需要来做一个详细说明的, 比如说在第一个方法里面所涉及的其余的一些依赖包, 还有那个conda打包的环境等等这些事物, 原因在于对于笔者本人来说是不需要去写得那么细致的, 因为只要跟着去操作做一次就能够观察到以及解决那些比较细小的问题, 所以我这边并没有把这些内容补充完善到一种非常详细的状态, 要是大家有什么问题欢迎来提问, 后续我会根据实际情况来进行进一步的补充和完善工作。