首页 > 解决方案 > AttributeError: 'NoneType' 对象在使用 pip 包安装包时没有属性'encoding'

问题描述

我有一个使用 bcrypt 的程序,如果用户没有 bcrypt,我想安装该软件包。它可以在我家运行 Python 3.7 和最新版本的 pip 的 PC 上运行,但在学校,它在标题中给出了错误。以下是相关代码:

try:
import bcrypt
except ImportError:
    from pip._internal import main as pip  # if bcrypt cannot be installed, attempt installation
    print("Attempting to install bcrypt...")
    pip(["install","bcrypt"])

这是错误:

Traceback (most recent call last):
  File "\\ths-fs-002\Student Work\2016\16HarveyJ\NEA-1\src\main.py", line 9, in <module>
    from pip._internal import main as pip  # if bcrypt cannot be installed, attempt installation
  File "C:\Python34\lib\site-packages\pip\__init__.py", line 9, in <module>
    from pip.log import logger
  File "C:\Python34\lib\site-packages\pip\log.py", line 8, in <module>
    from pip import backwardcompat
  File "C:\Python34\lib\site-packages\pip\backwardcompat\__init__.py", line 27, in <module>
    console_encoding = sys.__stdout__.encoding
AttributeError: 'NoneType' object has no attribute 'encoding'

标签: pythonpipbcrypt

解决方案


推荐阅读