解决AttributeError: 'module' object has no attribute 'main' 安装第三方包报错
import sysimport tracebackimport getoptimport osERROR_WRONG_USAGE = 1ERROR_NO_PIP = 2ERROR_NO_SETUPTOOLS = 3ERROR_EXCEPTION = 4os.putenv("PIP_REQUIRE_VIRTUALENV", "false")def exit(retcode): major, minor, micro, release, serial = sys.version_info version = major * 10 + minor if version < 25: import os os._exit(retcode) else: sys.exit(retcode)def usage(): sys.stderr.write('Usage: packaging_tool.py <list|install|uninstall|pyvenv>\n') sys.stderr.flush() exit(ERROR_WRONG_USAGE)def error(message, retcode): sys.stderr.write('Error: %s\n' % message) sys.stderr.flush() exit(retcode)def error_no_pip(): type, value, tb = sys.exc_info() if tb is not None and tb.tb_next is None: error("Python packaging tool 'pip' not found", ERROR_NO_PIP) else: error(traceback.format_exc(), ERROR_EXCEPTION)def do_list(): try: import pkg_resources except ImportError: error("Python packaging tool 'setuptools' not found", ERROR_NO_SETUPTOOLS) for pkg in pkg_resources.working_set: try: requirements = pkg.requires() except Exception: requirements = [] requires = ':'.join([str(x) for x in requirements]) sys.stdout.write('\t'.join([pkg.project_name, pkg.version, pkg.location, requires])+chr(10)) sys.stdout.flush()def do_install(pkgs): return pip_main(['install'] + pkgs)def do_uninstall(pkgs): return pip_main(['uninstall', '-y'] + pkgs)def pip_main(args): try: import pip except ImportError: error_no_pip() try: func = pip.main except AttributeError: from pip._internal import main as func func(args)def do_pyvenv(path, system_site_packages): try: import venv except ImportError: error("Standard Python 'venv' module not found", ERROR_EXCEPTION) # In Python >= 3.4 venv.create() has a new parameter with_pip=False # that allows to automatically install setuptools and pip with the module # ensurepip. Unfortunately, we cannot use this parameter and have to # bootstrap these packages ourselves, since some distributions of CPython # on Ubuntu don't include ensurepip. venv.create(path, system_site_packages=system_site_packages)def do_untar(name): import tempfile directory_name = tempfile.mkdtemp("pycharm-management") import tarfile tar = tarfile.open(name) for item in tar: tar.extract(item, directory_name) sys.stdout.write(directory_name+chr(10)) sys.stdout.flush() return 0def mkdtemp_ifneeded(): try: ind = sys.argv.index('--build-dir') if not os.path.exists(sys.argv[ind + 1]): import tempfile sys.argv[ind + 1] = tempfile.mkdtemp('pycharm-packaging') return sys.argv[ind + 1] except: pass return Nonedef main(): try: # As a workaround for #885 in setuptools, don't expose other helpers # in sys.path so as not no confuse it with possible combination of # namespace/ordinary packages sys.path.remove(os.path.dirname(__file__)) except ValueError: pass retcode = 0 try: if len(sys.argv) < 2: usage() cmd = sys.argv[1] if cmd == 'list': if len(sys.argv) != 2: usage() do_list() elif cmd == 'install': if len(sys.argv) < 2: usage() rmdir = mkdtemp_ifneeded() pkgs = sys.argv[2:] retcode = do_install(pkgs) if rmdir is not None: import shutil shutil.rmtree(rmdir) elif cmd == 'untar': if len(sys.argv) < 2: usage() name = sys.argv[2] retcode = do_untar(name) elif cmd == 'uninstall': if len(sys.argv) < 2: usage() pkgs = sys.argv[2:] retcode = do_uninstall(pkgs) elif cmd == 'pyvenv': opts, args = getopt.getopt(sys.argv[2:], '', ['system-site-packages']) if len(args) != 1: usage() path = args[0] system_site_packages = False for opt, arg in opts: if opt == '--system-site-packages': system_site_packages = True do_pyvenv(path, system_site_packages) else: usage() except Exception: traceback.print_exc() exit(ERROR_EXCEPTION) exit(retcode)if __name__ == '__main__': main()解决AttributeError: 'module' object has no attribute 'main' 安装第三方包报错的更多相关文章
- 安装pandas报错(AttributeError: 'module' object has no attribute 'main')
在pycharm中安装pandas出现报错:AttributeError: 'module' object has no attribute 'main', 刚开始以为是pip的版本太旧了,于是乎将其 ...
- AttributeError: 'module' object has no attribute 'main'
本机环境:ubuntu16.04, ros-kinetic $ roscore 报错 Traceback (most recent call last): File , in <module& ...
- 【Python】【亲测好用】安装第三方包报错:AttributeError:'module' object has no attribute 'main'
安装/卸载第三包可能出现如下问题及相应解决办法: 在pycharm编辑中,使用anconda2更新.卸载第三方包时,出现如下错误: AttributeError:'module' object has ...
- window7下安装第三方包报错及解决
window7 64位下安装第三方包,,比如安装yaml的exe执行文件,会 报错及解决:python version 2.7(3.4) required,which was not found in ...
- 解决 mac 10.14.4 无法 sublime text 3207 安装 Package Control,以及安装第三方包报错 `Package Control There are no packages available for installation`
下载最新的 sublime text 3207,无法安装 Package Control. 根据官方提示,手动安装 Package Control. 手动安装 Package Control 后,无法 ...
- pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'
pip升级到 10.0.1 之后 老版的pycharm 使用pip安装第三方库的时候会报错,报错如上图所示: 其主要原因是 新版的 pip 更改了 部分api 将其中 pip.main() 改为 pi ...
- attributeError:'module' object has no attribute ** 解决办法
写了一个小脚本,执行的时候报错: Traceback (most recent call last): File "F:/test/qrcode.py", line 109, in ...
- 【pycharm】pycharm上安装tensorflow,报错:AttributeError: module 'pip' has no attribute 'main' 解决方法
pycharm上安装tensorflow,报错:AttributeError: module 'pip' has no attribute 'main' 解决方法 解决方法: 在pycharm的安装目 ...
- 解决:pipenv shell报错:AttributeError: 'module' object has no attribute 'run'
利用pipenv shell切换到虚拟环境时,显示报错:AttributeError: 'module' object has no attribute 'run' 可以看到是d:\program\p ...
随机推荐
- 0923关于安装mysql两种简单方式
http://blog.csdn.net/liumm0000/article/details/18841197 方式一:利用RPM安装包进行安装 RPM方式安装MySQL5.6 RPM方式安装MySQ ...
- asp.net-EF-表间关系
博客推荐 http://www.cnblogs.com/Gyoung/archive/2013/01/17/2864150.html 先学习下这几个方法 Has方法: HasOptional:前者包含 ...
- Linux查找字符串命令grep(转)
Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来. ...
- CSP介绍、以及使用CryptoAPI枚举CSP并获取其属性
CSP,全名为"加密服务提供者(Cryptographic Service Provider)",是微软定义的一套password服务API.眼下经常使用的password规范或者 ...
- HDU 2830 Matrix Swapping II (预处理的线性dp)
Matrix Swapping II Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- unity游戏开发之NGUI的UISprite染色
游戏的UI开发中常常会遇到染色问题.比如button失效变灰的效果,同一个道具通过策划表配的颜色值染上红绿蓝紫等颜色,效果例如以下 最笨最挫的方法当然是让美术多出几个资源图.这种一个缺点是浪费资源,在 ...
- 【网络协议】ICMP协议、Ping、Traceroute
ICMP协议 ICMP常常被觉得是IP层的一个组成部分,它是网络层的一个协议.它传递差错报文以及其它须要注意的信息.ICMP报文通常被IP层或更高层(TCP.UDP等)使用,它是在IP数据报内 ...
- 实战c++中的string系列--CDuiString和string的转换(duilib中的cduistring)
使用所duilib的人定会知道cduistring类型,先看看这个类是怎么定义的: class UILIB_API CDuiString { public: enum { MAX_LOCAL_STRI ...
- Highcharts构建空饼图
Highcharts构建空饼图 空饼图就是不包括不论什么节点的饼图. 在Highcharts中,假设数据列不包括数据,会自己主动显示空白. 这样浏览者无法推断当前图表为什么类型.绘制一个空饼图的变通方 ...
- Windows 10家庭版也能共享打印机(中)解除Guest账户网络登录限制,实现局域网共享
由于Windows系统默认是禁止Guest账户从网络登录的.我们须要解除这个限制.首先想到的是用组策略编辑器gpedit.msc. 可是Windows 10家庭版没有组策略编辑器,我们先尝试用U盘把W ...