一周精选
1 如何抉择是否要做机器学习?如何入门机器学习? 2 "爱(AI)与你同行系列"(1):从哪三个方面入手做好特征选择工程?
更新pip之后,Pycharm安装package出现如下报错:
AttibuteError: module 'pip' has no attribute 'main'
或者
TypeError: main() takes 0 positional arguments but 1 was given
------以上都属于一类错误-------
尝试过很多种方法,可能一直都没有找到一个很好的解决措施。
有人甚至都绕过这个错误,采取将所有包都安装在python解释器安装目录下,不过,这种方式下,每次新建一个项目,都得重新建立一个继承于根目录下的所有包,这违背了venv的初衷。
今天我们亮出解决方法,或许你还有更好的,不过,这个方法的确可以凑效,并且操作非常简单。
第一步,找出Pycharm的安装目录,默认安装于:
C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers
第二步,找到helpers文件夹下的文件 packaging_tool.py ,并做如下修改: 修改
1def do_install(pkgs):
2 try:
3 import pip
4 except ImportError:
5 error_no_pip()
6 return main(['install'] + pkgs)
为:
1def do_install(pkgs):
2 try:
3 #import pip
4 try:
5 from pip._internal import main
6 except Exception:
7 from pip import main
8 except ImportError:
9 error_no_pip()
10 return main(['install'] + pkgs)
修改
1def do_uninstall(pkgs):
2 try:
3 import pip
4 except ImportError:
5 error_no_pip()
6 return pip.main(['uninstall', '-y'] + pkgs)
为:
1def do_uninstall(pkgs):
2 try:
3 #import pip
4 try:
5 from pip._internal import main
6 except Exception:
7 from pip import main
8 except ImportError:
9 error_no_pip()
10 return pip.main(['uninstall', '-y'] + pkgs)
接下来就是见证奇迹的时刻,终于可以在Pycharm里正常安装包或卸载包了。
如果你有更好的解决方法,欢迎在下面留言。如果你在工程化实现中,解决了一些困扰你已久的问题,发送给我,分享给更多人。
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!