更新前:
更新后:
现在使用的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默认版本放置目录:
windows系统:Pycharm_professional_2019.3.3\plugins\python\helpers #目录下
2.将下载好的最新pip和setuptools安装包放置于安装目录下(virtualenv最新安装包可以先不下,如果后面安装报错再下):
#最新的pip和setuptools安装包可以到pypi网站下载
#附赠连接:https://pypi.org/
?第二步:替换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程序目录,然后用自带“查找使用”的方法来搜索写死的程序代码:
但是并没有找到正确的代码。
?第二种方案(成功):
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版本更新。
|