Python 2.7 为什么可以';我是否从docx.enum.text导入WD_ALIGN_段落?

Python 2.7 为什么可以';我是否从docx.enum.text导入WD_ALIGN_段落?,python-2.7,pycharm,python-docx,Python 2.7,Pycharm,Python Docx,我将一些代码从空闲3.5(64位)传输到pycharm(Python 2.7)。大部分代码仍在运行,例如,我可以从docx.enum.text导入WD_行间距,但由于某些原因,我无法导入WD_对齐_段落 # works from __future__ import print_function import xlrd import xlwt import os import subprocess from calendar import monthrange import datetime fr

我将一些代码从空闲3.5(64位)传输到pycharm(Python 2.7)。大部分代码仍在运行,例如,我可以从docx.enum.text导入WD_行间距,但由于某些原因,我无法导入WD_对齐_段落

# works
from __future__ import print_function
import xlrd
import xlwt
import os
import subprocess
from calendar import monthrange
import datetime
from docx import Document
from datetime import datetime
from datetime import date
from docx.enum.text import WD_LINE_SPACING
from docx.shared import Pt

# does not work
from docx.enum.text import WD_ALIGN_PARAGRAPH
起初,几乎所有的进口产品都有效,但后来我成功了
pip安装python docx
而不是
pip安装docx
除WD_ALIGN_段外,大多数导入都有效

# works
from __future__ import print_function
import xlrd
import xlwt
import os
import subprocess
from calendar import monthrange
import datetime
from docx import Document
from datetime import datetime
from datetime import date
from docx.enum.text import WD_LINE_SPACING
from docx.shared import Pt

# does not work
from docx.enum.text import WD_ALIGN_PARAGRAPH
我没有收到任何错误消息,但Pycharm将该行标记为错误:
在“text.py”中找不到引用“WD\u ALIGN\u段落”。

您可以改为使用此选项:

从docx.enum.text导入WD\u段落\u对齐方式
然后在以前出现的
WD\u段落
位置替换为
WD\u段落

发生这种情况的原因是,实际的枚举对象被命名为
WD\u段落对齐
,并且应用了一个修饰符,该修饰符还允许将其引用为
WD\u对齐
(稍微短一点,可能更清晰)。我希望PyCharm中的语法检查器是在直接模块属性上操作的,不会拾取别名,而别名是由Python解析器/编译器解析的


有趣的是,我希望您的代码无论哪种方式都能正常工作。但是,为了消除恼人的消息,您可以使用基本名称。

如果有人使用pylint,则可以通过在导入行末尾添加
\pylint:disable=E0611
来轻松抑制它。

在这个问题中是否有任何关于pylint与此问题有关的建议?没有,但这些信息可以帮助我和您(在我看来)许多其他人,如果他们不知何故(就像我一样)在谷歌上发现了这个问题。OP很久以前就得到了想要的答案。这个想法错了吗?因为我对此不太自信。答案应该与他们发布的问题相关。在这种情况下,问题是关于导入的,但你的答案是关于抑制pylint。我看不到问题之间的任何联系stion和你的答案。如果你觉得有一个清晰的链接,最好是你能给出你的答案,并解释为什么这个答案可能会帮助有同样问题的人。如果没有链接,你可以写一个新的问题并自己回答。