zoukankan      html  css  js  c++  java
  • Python3下email 安装报错 No module named 'cStringIO'

    python 自动发送邮件需要用到 email模块,但是python3 在安装email包的时候出现了难以解决的问题。

    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
    Collecting email
      Using cached https://pypi.tuna.tsinghua.edu.cn/packages/71/e7/816030d3b0426c130040bd068be62b9213357ed02896f5d9badcf46d1b5f/email-4.0.2.tar.gz (1.2 MB)
    
    DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated and has no effect anymore. pip 21.1 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
        ERROR: Command errored out with exit status 1:
         command: 'F:pycharm_datavenvScriptspython.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\TEMP\pip-install-_69p8qeo\email_ac83a28998054da4a3d65e4e3d48ea7a\setup.py'"'"'; __file__='"'"'C:\TEMP\pip-install-_69p8qeo\email_ac83a28998054da4a3d65e4e3d48ea7a\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'
    '"'"', '"'"'
    '"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:TEMPpip-pip-egg-info-0ziudvw8'
             cwd: C:TEMPpip-install-_69p8qeoemail_ac83a28998054da4a3d65e4e3d48ea7a
        Complete output (11 lines):
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "F:pycharm_datavenvlibsite-packagessetuptools\__init__.py", line 16, in <module>
            import setuptools.version
          File "F:pycharm_datavenvlibsite-packagessetuptoolsversion.py", line 1, in <module>
            import pkg_resources
          File "F:pycharm_datavenvlibsite-packagespkg_resources\__init__.py", line 33, in <module>
            import email.parser
          File "C:TEMPpip-install-_69p8qeoemail_ac83a28998054da4a3d65e4e3d48ea7aemailparser.py", line 10, in <module>
            from cStringIO import StringIO
        ModuleNotFoundError: No module named 'cStringIO'
        ----------------------------------------
    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

    搜寻了网上的答案,大致可以理解为python2可以这么安装,但是python3中没有 cStringIO 这个包,如果是单纯引用 StringIO 可以使用

    from io import StringIO

    但是这种方法没用,因为这是在安装的时候出现的,我试着修改

    C:TEMPpip-install-_69p8qeoemail_ac83a28998054da4a3d65e4e3d48ea7aemailparser.py

    这一文件内容,但是由于是安装时出现的临时文件,所以并不能进行修改。

    解决方法:

    1.看到安装包的时候的第一行没有?

    Using cached https://pypi.tuna.tsinghua.edu.cn/packages/71/e7/816030d3b0426c130040bd068be62b9213357ed02896f5d9badcf46d1b5f/email-4.0.2.tar.gz (1.2 MB)

    把这里面的地址复制到浏览器中,直接将这个gz压缩包下载下来;
    2.将gz解压缩出来,这时候如果尝试使用

    python setup.py install

    发现报错,并没有什么用,所以接下来

    解压后的文件:

    压缩包的文件名应该是 email-4.0.2(版本号不同数字不同),打开文件夹后里面会有doc、email等文件夹和setup.py、testall.py等文件,这时候把email这个文件夹复制到电脑中python的lib/site-packages 文件夹中,然后就可以正常使用email这个包了;
    直接将里面的email文件贴过去:

  • 相关阅读:
    求幂运算、多项式乘法及Horner法则的应用
    JAVA泛型中的类型擦除及为什么不支持泛型数组
    关于递归的理解及递归表达式复杂度分析(以求解最大公约数为例)
    随机序列生成算法---生成前N个整数的一组随机序列
    Windows 与 Linux下关于端口不能访问的问题
    Netty 实现HTTP文件服务器
    字符数组转换成数字
    字符串反转的进一步应用----单词反转
    递归算法编程整数因子分解问题的递归算法
    数据返回[数据库基础]——图解JOIN
  • 原文地址:https://www.cnblogs.com/liweikuan/p/14118348.html
Copyright © 2011-2022 走看看