我刚刚重新安装了windows来清理我的电脑,把所有东西都移到了我的D盘上,并通过Windows Store安装了Python (不知何故,它默认在我的C盘上,所以我把它留在了那里,因为Pycharm搞不清楚它的位置),现在我第一次试图通过pip安装python-docx模块,但我卡住了。我安装了最新版本的C++。对于我提供的任何不相关的信息,请原谅,只是希望彻底。下面是在命令中返回的内容:
.>pip install python-docx
Collecting python-docx
Using cached python-docx-0.8.11.tar.gz (5.6 MB)
Preparing metadata (setup.py) ... done
Collecting lxml>=2.3.2
Using cached lxml-4.6.3.tar.gz (3.2 MB)
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for python-docx, since package 'wheel' is not installed.
Using legacy 'setup.py install' for lxml, since package 'wheel' is not installed.
Installing collected packages: lxml, python-docx
Running setup.py install for lxml ... error
ERROR: Command errored out with exit status 1:
command: 'C:\Users\cahez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\cahez\\AppData\\Local\\Temp\\pip-install-8rz9vrlv\\lxml_69e9fa188fd042d6953641882e4b3a17\\setup.py'"'"'; __file__='"'"'C:\\Users\\cahez\\AppData\\Local\\Temp\\pip-install-8rz9vrlv\\lxml_69e9fa188fd042d6953641882e4b3a17\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\cahez\AppData\Local\Temp\pip-record-xpg_v_i_\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\cahez\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Include\lxml'
cwd: C:\Users\cahez\AppData\Local\Temp\pip-install-8rz9vrlv\lxml_69e9fa188fd042d6953641882e4b3a17\
Complete output (76 lines):
Building lxml version 4.6.3.
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
running install
C:\Users\cahez\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build\lib.win-amd64-3.10
creating build\lib.win-amd64-3.10\lxml
copying src\lxml\builder.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\cssselect.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\doctestcompare.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\ElementInclude.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\pyclasslookup.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\sax.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\usedoctest.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\_elementpath.py -> build\lib.win-amd64-3.10\lxml
copying src\lxml\__init__.py -> build\lib.win-amd64-3.10\lxml
creating build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\__init__.py -> build\lib.win-amd64-3.10\lxml\includes
creating build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\builder.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\clean.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\defs.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\diff.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\ElementSoup.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\formfill.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\html5parser.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\soupparser.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\usedoctest.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\_diffcommand.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\_html5builder.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\_setmixin.py -> build\lib.win-amd64-3.10\lxml\html
copying src\lxml\html\__init__.py -> build\lib.win-amd64-3.10\lxml\html
creating build\lib.win-amd64-3.10\lxml\isoschematron
copying src\lxml\isoschematron\__init__.py -> build\lib.win-amd64-3.10\lxml\isoschematron
copying src\lxml\etree.h -> build\lib.win-amd64-3.10\lxml
copying src\lxml\etree_api.h -> build\lib.win-amd64-3.10\lxml
copying src\lxml\lxml.etree.h -> build\lib.win-amd64-3.10\lxml
copying src\lxml\lxml.etree_api.h -> build\lib.win-amd64-3.10\lxml
copying src\lxml\includes\c14n.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\config.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\etreepublic.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\htmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\relaxng.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\schematron.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\tree.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\uri.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xinclude.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xmlerror.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xmlparser.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xmlschema.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xpath.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\xslt.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\__init__.pxd -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\etree_defs.h -> build\lib.win-amd64-3.10\lxml\includes
copying src\lxml\includes\lxml-version.h -> build\lib.win-amd64-3.10\lxml\includes
creating build\lib.win-amd64-3.10\lxml\isoschematron\resources
creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\rng
creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl
creating build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-3.10\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\cahez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\cahez\\AppData\\Local\\Temp\\pip-install-8rz9vrlv\\lxml_69e9fa188fd042d6953641882e4b3a17\\setup.py'"'"'; __file__='"'"'C:\\Users\\cahez\\AppData\\Local\\Temp\\pip-install-8rz9vrlv\\lxml_69e9fa188fd042d6953641882e4b3a17\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\cahez\AppData\Local\Temp\pip-record-xpg_v_i_\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\cahez\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Include\lxml' Check the logs for full command output.发布于 2021-10-23 11:26:53
lxml是python-docx的一个依赖项。lxml的最新稳定版本是4.6.3,发布于2021年3月21日。在PyPI上,还有no lxml wheel for 3.10。因此,它会尝试从源代码进行编译,且需要Microsoft Visual C++ 14.0或更高版本,如错误中所述。
但是,您可以在安装python-docx之前手动安装lxml。下载并安装unofficial binary from Gohlke或者您也可以使用pipwin从Gohlke安装它。注意:lxml的依赖关系可能仍然存在问题。
当然,您也可以降级到python3.9。
https://stackoverflow.com/questions/69687604
复制相似问题