背景
单位内部电脑是离线,不能上外网的。这给Python开发带来了不便。我采用的Anaconda环境,就算知道可以将外网的Package拷贝到内网的SitePackage中,以此替代直接的pip install,但是由于很多包依赖关系复杂,日常使用起来还是麻烦,经常需要不停地通过运行试错来看到底还却哪些包。
解决方法问题既然在于不知道包的依赖关系,那么只需要在你拷贝某个包时先拿到依赖关系,然后将所有依赖关系离线拷贝就可以了,具体方法举例如下。 比如,如果你想在内网安装一个eventlet,那么就先在外网pip install一下eventlet,看控制台列出多少相关package,将这些package全部拷贝到内网即可。 如果已经在外网安装过eventlet,那么再Pipinstall一下,也会列出相应项目。
(base) C:\Users\Administrator\PycharmProjects\chat_room>pip install eventlet
Requirement already satisfied: eventlet in c:\users\administrator\anaconda3\lib\site-packages (0.33.0)
Requirement already satisfied: dnspython>=1.15.0 in c:\users\administrator\anaconda3\lib\site-packages (from eventlet) (2.1.0)
Requirement already satisfied: greenlet>=0.3 in c:\users\administrator\anaconda3\lib\site-packages (from eventlet) (0.4.15)
Requirement already satisfied: six>=1.10.0 in c:\users\administrator\anaconda3\lib\site-packages (from eventlet) (1.14.0)