一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本

更新前:

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第1张图片

更新后:

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第2张图片

现在使用的pycharm2019.3.3创建python虚拟环境默认创建的pip和setuptools版本太旧了,导致安装很多第三方库总是报各种各样奇奇怪怪的错误。

每次新建项目,第一件事就是手动更新pip和setuptools版本(在windows下更新pip和setuptools版本也时不时遇到各种报错。。)

就想着能不能有一种办法一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本,这样子就不用每次新建项目都手动更新pip和setuptools版本。

但是查找了一天的百度,都没有找到很有价值的东西。。研究了整整一天,最后终于更新成功了。特此记录下来。

其实总共就2个大的步骤:

第一步:找到pycharm默认安装的pip和setuptools安装包的目录,然后下载新的pip和setuptools放置于旧版本安装包的同目录下:

1.利用windows的搜索功能,找到pip和setuptools默认版本放置目录:

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第3张图片

windows系统:Pycharm_professional_2019.3.3\plugins\python\helpers #目录下

2.将下载好的最新pip和setuptools安装包放置于安装目录下(virtualenv最新安装包可以先不下,如果后面安装报错再下):

#最新的pip和setuptools安装包可以到pypi网站下载
#附赠连接:https://pypi.org/

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第4张图片

 第二步:替换pycharm程序目录下python.jar文件中写死的pip和setuptools版本代码。

这里需要好好记录下走过的弯路:

1.因为已经将最新的pip和setuptools安装包都放置到安装目录了,然后旧的安装包已经重命名作为备份,但是创建virtualenv环境的时候,还是提示报错。报错信息:No such file or directory:setuptools-40.8.0.tar.gz。

得出结论:就是pip和setuptools的安装版本被写死了。

2.有了第1个结论之后,下一步就要在pycharm程序目录下找到被写死的代码。

第一种方案(失败):

1.利用pycharm自身的查找功能找到写死的版本代码。直接用pycharm打开pycharm程序目录,然后用自带“查找使用”的方法来搜索写死的程序代码:

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第5张图片

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第6张图片

但是并没有找到正确的代码。

 第二种方案(成功):

1.既然利用pycharm自带的“查找”功能找不到写死的版本代码,那么应该就是代码是在压缩文件或者不是以文本的形式呈现的(因为pycharm的“查找”功能只能搜索到文本内容,而且不会查找压缩文件里面的内容)。想起之前学习linux系统时用过的grep和sed命令(grep命令可以搜索到文本以及二进制呈现的内容):

#windows不集成grep,grep需要另外下载安装
#附赠下载地址:http://gnuwin32.sourceforge.net/packages/grep.htm
grep -rn "setuptools-40.8.0" D:\\Pycharm_professional_2019.3.3 > d:/find.txt

2.打开find.txt文件,发现python.jar被match到:

Binary file D:\Pycharm_professional_2019.3.3/plugins/python/lib/python.jar matches 

定位到写死的版本代码应该就在python.jar包里面。

3.利用sed替换写死的代码

#windows不集成sed,sed需要另外下载安装
#附赠下载地址:http://gnuwin32.sourceforge.net/packages/sed.htm
sed -b -i s/setuptools-40.8.0/setuptools-58.1.0/g D:/Pycharm_professional_2019.3.3/plugins/python/lib/python.jar

至此,一劳永逸完成pycharm中python虚拟环境自动创建的pip和setuptools版本更新。

一劳永逸更新pycharm中python虚拟环境自动创建的pip和setuptools版本_第7张图片

你可能感兴趣的:(python,pycharm,windows)