有些电脑可能使用内网,不能直接在联网环境下安装python依赖包。比如,我在离线环境下VS code不能支持跳转(已安装python插件),而之前VS code提示没有安装pylint,我以为是缺少这个的原因,因此下面将介绍我如何在离线环境下安装pylint。
1、要有一个联网的电脑 2、一个不能联网的电脑 3、在两个环境下都安装了python和pip: 如果没有安装可参考: Windows如何安装pip–https://jingyan.baidu.com/article/ff42efa9d630e5c19e220207.html
我是在VS code中遇到提示“没有安装pylint”,然后点击安装。但我们也可以在cmd(Windows下的命令提示符)中通过命令:pip install pylint来安装。
方法1:在联网环境下,pip安装pylint时,会自动下载需要的一些依赖包。以下是VS code中安装pylint的截图,红框所指即为自动下载依赖包的提示。红色箭头则提示正在安装依赖包。 如果是在cmd中安装的话,应该也会显示出上图类似的过程。从中可以了解到所需的依赖包。 方法2:通过在cmd中执行pip list,查看联网环境中python安装了哪些包: 同样在离线环境中我们也可以执行pip list来查看当前python中安装的包,两相对比就可知道缺少哪些依赖包。 方法2的缺点:如果你的联网环境安装了其他包,可能就不好明确知道pylint需要哪些包,以及这些包的安装(依赖)顺序。
通过步骤2可知离线环境中安装pylint需要的依赖如下:
PackageVersionastroid1.6.6backports.functools-lru-cache1.6.1colorama0.4.3configparser4.0.2enum341.1.10futures3.3.0isort4.3.21lazy-object-proxy1.5.1mccabe0.6.1pylint1.9.5singledispatch3.4.0.3six1.15.0wrapt1.12.1根据2中截图,依次安装这些包(依次安装时因为这些包之间可能也有依赖)。 顺序:Installing collected packages: mccabe, backports.functools-lru-cache, futures, isort, six, singledispatch, enum34, lazy-object-proxy, wrapt, astroid, configparser, colorama, pylint 知道了依赖包,则要下载他们。 下载地址为: 1、https://pypi.org (可以搜索所有的包,以及他们的各个发行版) 2、https://www.lfd.uci.edu/~gohlke/pythonlibs/(一般只有最新的两个版本) 通过以上地址可以下载到所有依赖包。以pylint为例,https://pypi.org/project提供了最新版的pylint: 然而我们的环境需要1.9.5的版本,从release history中选择1.9.5的版本就可以了。如下所示,pylint提供了两种形式的文件,优先下载.whl。有些包只有tar.gz文件,这时就只能下载他了。
将3中的依赖包拷贝到离线环境中,然后按顺序安装。 如果是.whl的包,则在cmd中切换到该目录下,执行pip install pylint-1.9.5-py2.py3-none-any.whl 如果是tar.gz文件,则先用WinRAR解压,然后在cmd中切换到该目录下,执行python setup.py install
1、安装顺序;2、包的版本
悲伤的是,虽然pylint安装好了,离线环境中python还是不能点击函数跳转,FUCK。