Win32 API File Manage

本文详细介绍了在Windows环境下使用OpenFile函数打开文件的过程及注意事项,包括返回值解释、函数失败情况处理和搜索文件目录顺序。

http://msdn.microsoft.com/en-us/library/aa365430(v=vs.85).aspx

OpenFile function

HFILE WINAPI OpenFile(
  _In_   LPCSTR lpFileName,
  _Out_  LPOFSTRUCT lpReOpenBuff,
  _In_   UINT uStyle
);

Return value

If the function succeeds, the return value specifies a file handle to use when performing file I/O. To close the file, call the CloseHandle function using this handle.

If the function fails, the return value is HFILE_ERROR. To get extended error information, call GetLastError.

Remarks

If the lpFileName parameter specifies a file name and extension only, this function searches for a matching file in the following directories and the order shown:

  1. The directory where an application is loaded.

  2. The current directory.

  3. The Windows system directory.

    Use the GetSystemDirectory function to get the path of this directory.

  4. The 16-bit Windows system directory.

    There is not a function that retrieves the path of this directory, but it is searched.

  5. The Windows directory.

    Use the GetWindowsDirectory function to get the path of this directory.

  6. The directories that are listed in the PATH environment variable.

The lpFileName parameter cannot contain wildcard characters.


(.venv) PS C:\Users\V82406169\PycharmProjects\test2> pip install "uiautomator2==0.1.12.dev5" DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop su pport for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#pytho n-2-support pip 21.0 will remove support for this functionality. Collecting uiautomator2==0.1.12.dev5 Downloading uiautomator2-0.1.12.dev5.tar.gz (549 kB) |████████████████████████████████| 549 kB 44 kB/s Requirement already satisfied: requests>=2.7.0 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (2.27.1) Requirement already satisfied: six in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (1.17.0) Requirement already satisfied: humanize in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (1.0.0) Requirement already satisfied: fire in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (0.7.0) Requirement already satisfied: docopt in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (0.6.2) Requirement already satisfied: progress>=1.3 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (1.6) Requirement already satisfied: retry>=0.9.2 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (0.9.2) Requirement already satisfied: whichcraft in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (0.6.1) Requirement already satisfied: logzero in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (1.7.0) Requirement already satisfied: pillow in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from uiautomator2==0.1.12.dev5) (6.2.2) Collecting lxml Using cached lxml-5.0.2.tar.gz (3.9 MB) Requirement already satisfied: chardet<5,>=3.0.2; python_version < "3" in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from requests>=2.7.0- >uiautomator2==0.1.12.dev5) (4.0.0) Requirement already satisfied: idna<3,>=2.5; python_version < "3" in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from requests>=2.7.0->uiau tomator2==0.1.12.dev5) (2.10) Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from requests>=2.7.0->uiautomator2==0.1 .12.dev5) (1.26.20) Requirement already satisfied: certifi>=2017.4.17 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from requests>=2.7.0->uiautomator2==0.1.12 .dev5) (2021.10.8) Requirement already satisfied: termcolor in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from fire->uiautomator2==0.1.12.dev5) (1.1.0) Requirement already satisfied: decorator>=3.4.2 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from retry>=0.9.2->uiautomator2==0.1.12.dev5 ) (4.4.2) Requirement already satisfied: py<2.0.0,>=1.4.26 in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from retry>=0.9.2->uiautomator2==0.1.12.dev 5) (1.11.0) Requirement already satisfied: colorama; sys_platform == "win32" in c:\users\v82406169\pycharmprojects\test2\.venv\lib\site-packages (from logzero->uiautomator2= =0.1.12.dev5) (0.4.6) Building wheels for collected packages: uiautomator2, lxml Building wheel for uiautomator2 (setup.py) ... done Created wheel for uiautomator2: filename=uiautomator2-0.1.12.dev5-py2-none-any.whl size=194568 sha256=a64b077c91bca36a1e9f86648b02933c664d028466b387ffd0fbf9669 01cbf94 Stored in directory: c:\users\v82406169\appdata\local\pip\cache\wheels\da\7c\e0\777110fbee314b58f533b6bb9aeedff487c31aae8dc7fa68b7 Building wheel for lxml (setup.py) ... error ERROR: Command errored out with exit status 1: command: 'C:\Users\V82406169\PycharmProjects\test2\.venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'c:\\users\\v82406~1\\ appdata\\local\\temp\\pip-install-c1vhye\\lxml\\setup.py'"'"'; __file__='"'"'c:\\users\\v82406~1\\appdata\\local\\temp\\pip-install-c1vhye\\lxml\\setup.py'"'"';f =getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' b dist_wheel -d 'c:\users\v82406~1\appdata\local\temp\pip-wheel-scsmyn' cwd: c:\users\v82406~1\appdata\local\temp\pip-install-c1vhye\lxml\ Complete output (102 lines): Building lxml version 5.0.2. Building without Cython. Building against pre-built libxml2 andl libxslt libraries running bdist_wheel running build running build_py creating build creating build\lib.win32-2.7 creating build\lib.win32-2.7\lxml copying src\lxml\builder.py -> build\lib.win32-2.7\lxml copying src\lxml\cssselect.py -> build\lib.win32-2.7\lxml copying src\lxml\doctestcompare.py -> build\lib.win32-2.7\lxml copying src\lxml\ElementInclude.py -> build\lib.win32-2.7\lxml copying src\lxml\pyclasslookup.py -> build\lib.win32-2.7\lxml copying src\lxml\sax.py -> build\lib.win32-2.7\lxml copying src\lxml\usedoctest.py -> build\lib.win32-2.7\lxml copying src\lxml\_elementpath.py -> build\lib.win32-2.7\lxml copying src\lxml\__init__.py -> build\lib.win32-2.7\lxml creating build\lib.win32-2.7\lxml\includes copying src\lxml\includes\__init__.py -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\html copying src\lxml\html\builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\clean.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\defs.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\diff.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\ElementSoup.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\formfill.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\html5parser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\soupparser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\usedoctest.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_diffcommand.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_html5builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_setmixin.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\__init__.py -> build\lib.win32-2.7\lxml\html creating build\lib.win32-2.7\lxml\isoschematron copying src\lxml\isoschematron\__init__.py -> build\lib.win32-2.7\lxml\isoschematron copying src\lxml\etree.h -> build\lib.win32-2.7\lxml copying src\lxml\etree_api.h -> build\lib.win32-2.7\lxml copying src\lxml\lxml.etree.h -> build\lib.win32-2.7\lxml copying src\lxml\lxml.etree_api.h -> build\lib.win32-2.7\lxml copying src\lxml\etree.pyx -> build\lib.win32-2.7\lxml copying src\lxml\objectify.pyx -> build\lib.win32-2.7\lxml copying src\lxml\apihelpers.pxi -> build\lib.win32-2.7\lxml copying src\lxml\classlookup.pxi -> build\lib.win32-2.7\lxml copying src\lxml\cleanup.pxi -> build\lib.win32-2.7\lxml copying src\lxml\debug.pxi -> build\lib.win32-2.7\lxml copying src\lxml\docloader.pxi -> build\lib.win32-2.7\lxml copying src\lxml\dtd.pxi -> build\lib.win32-2.7\lxml copying src\lxml\extensions.pxi -> build\lib.win32-2.7\lxml copying src\lxml\iterparse.pxi -> build\lib.win32-2.7\lxml copying src\lxml\nsclasses.pxi -> build\lib.win32-2.7\lxml copying src\lxml\objectpath.pxi -> build\lib.win32-2.7\lxml copying src\lxml\parser.pxi -> build\lib.win32-2.7\lxml copying src\lxml\parsertarget.pxi -> build\lib.win32-2.7\lxml copying src\lxml\proxy.pxi -> build\lib.win32-2.7\lxml copying src\lxml\public-api.pxi -> build\lib.win32-2.7\lxml copying src\lxml\readonlytree.pxi -> build\lib.win32-2.7\lxml copying src\lxml\relaxng.pxi -> build\lib.win32-2.7\lxml copying src\lxml\saxparser.pxi -> build\lib.win32-2.7\lxml copying src\lxml\schematron.pxi -> build\lib.win32-2.7\lxml copying src\lxml\serializer.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xinclude.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlerror.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlid.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlschema.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xpath.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xslt.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xsltext.pxi -> build\lib.win32-2.7\lxml copying src\lxml\includes\c14n.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\config.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\relaxng.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\schematron.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\tree.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\uri.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xinclude.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xpath.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xslt.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\__init__.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etree_defs.h -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\lxml-version.h -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\isoschematron\resources creating build\lib.win32-2.7\lxml\isoschematron\resources\rng copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win32-2.7\lxml\isoschematron\resources\rng creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematro n-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-x slt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schema tron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl \iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron -xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 running build_ext building 'lxml.etree' extension error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27 ---------------------------------------- ERROR: Failed building wheel for lxml Running setup.py clean for lxml Successfully built uiautomator2 Failed to build lxml Installing collected packages: lxml, uiautomator2 Running setup.py install for lxml ... error ERROR: Command errored out with exit status 1: command: 'C:\Users\V82406169\PycharmProjects\test2\.venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'c:\\users\\v82406~1 \\appdata\\local\\temp\\pip-install-c1vhye\\lxml\\setup.py'"'"'; __file__='"'"'c:\\users\\v82406~1\\appdata\\local\\temp\\pip-install-c1vhye\\lxml\\setup.py'"'"' ;f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'c:\users\v82406~1\appdata\local\temp\pip-record-y0cvp8\install-record.txt' --single-version-externally-managed --compile --install-headers 'C: \Users\V82406169\PycharmProjects\test2\.venv\include\site\python2.7\lxml' cwd: c:\users\v82406~1\appdata\local\temp\pip-install-c1vhye\lxml\ Complete output (102 lines): Building lxml version 5.0.2. Building without Cython. Building against pre-built libxml2 andl libxslt libraries running install running build running build_py creating build creating build\lib.win32-2.7 creating build\lib.win32-2.7\lxml copying src\lxml\builder.py -> build\lib.win32-2.7\lxml copying src\lxml\cssselect.py -> build\lib.win32-2.7\lxml copying src\lxml\doctestcompare.py -> build\lib.win32-2.7\lxml copying src\lxml\ElementInclude.py -> build\lib.win32-2.7\lxml copying src\lxml\pyclasslookup.py -> build\lib.win32-2.7\lxml copying src\lxml\sax.py -> build\lib.win32-2.7\lxml copying src\lxml\usedoctest.py -> build\lib.win32-2.7\lxml copying src\lxml\_elementpath.py -> build\lib.win32-2.7\lxml copying src\lxml\__init__.py -> build\lib.win32-2.7\lxml creating build\lib.win32-2.7\lxml\includes copying src\lxml\includes\__init__.py -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\html copying src\lxml\html\builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\clean.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\defs.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\diff.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\ElementSoup.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\formfill.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\html5parser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\soupparser.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\usedoctest.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_diffcommand.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_html5builder.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\_setmixin.py -> build\lib.win32-2.7\lxml\html copying src\lxml\html\__init__.py -> build\lib.win32-2.7\lxml\html creating build\lib.win32-2.7\lxml\isoschematron copying src\lxml\isoschematron\__init__.py -> build\lib.win32-2.7\lxml\isoschematron copying src\lxml\etree.h -> build\lib.win32-2.7\lxml copying src\lxml\etree_api.h -> build\lib.win32-2.7\lxml copying src\lxml\lxml.etree.h -> build\lib.win32-2.7\lxml copying src\lxml\lxml.etree_api.h -> build\lib.win32-2.7\lxml copying src\lxml\etree.pyx -> build\lib.win32-2.7\lxml copying src\lxml\objectify.pyx -> build\lib.win32-2.7\lxml copying src\lxml\apihelpers.pxi -> build\lib.win32-2.7\lxml copying src\lxml\classlookup.pxi -> build\lib.win32-2.7\lxml copying src\lxml\cleanup.pxi -> build\lib.win32-2.7\lxml copying src\lxml\debug.pxi -> build\lib.win32-2.7\lxml copying src\lxml\docloader.pxi -> build\lib.win32-2.7\lxml copying src\lxml\dtd.pxi -> build\lib.win32-2.7\lxml copying src\lxml\extensions.pxi -> build\lib.win32-2.7\lxml copying src\lxml\iterparse.pxi -> build\lib.win32-2.7\lxml copying src\lxml\nsclasses.pxi -> build\lib.win32-2.7\lxml copying src\lxml\objectpath.pxi -> build\lib.win32-2.7\lxml copying src\lxml\parser.pxi -> build\lib.win32-2.7\lxml copying src\lxml\parsertarget.pxi -> build\lib.win32-2.7\lxml copying src\lxml\proxy.pxi -> build\lib.win32-2.7\lxml copying src\lxml\public-api.pxi -> build\lib.win32-2.7\lxml copying src\lxml\readonlytree.pxi -> build\lib.win32-2.7\lxml copying src\lxml\relaxng.pxi -> build\lib.win32-2.7\lxml copying src\lxml\saxparser.pxi -> build\lib.win32-2.7\lxml copying src\lxml\schematron.pxi -> build\lib.win32-2.7\lxml copying src\lxml\serializer.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xinclude.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlerror.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlid.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xmlschema.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xpath.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xslt.pxi -> build\lib.win32-2.7\lxml copying src\lxml\xsltext.pxi -> build\lib.win32-2.7\lxml copying src\lxml\includes\c14n.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\config.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\relaxng.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\schematron.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\tree.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\uri.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xinclude.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xpath.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\xslt.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\__init__.pxd -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\etree_defs.h -> build\lib.win32-2.7\lxml\includes copying src\lxml\includes\lxml-version.h -> build\lib.win32-2.7\lxml\includes creating build\lib.win32-2.7\lxml\isoschematron\resources creating build\lib.win32-2.7\lxml\isoschematron\resources\rng copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win32-2.7\lxml\isoschematron\resources\rng creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schemat ron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron -xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-sche matron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\x sl\iso-schematron-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematr on-xslt1 copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 running build_ext building 'lxml.etree' extension error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27 ---------------------------------------- ERROR: Command errored out with exit status 1: 'C:\Users\V82406169\PycharmProjects\test2\.venv\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.a rgv[0] = '"'"'c:\\users\\v82406~1\\appdata\\local\\temp\\pip-install-c1vhye\\lxml\\setup.py'"'"'; __file__='"'"'c:\\users\\v82406~1\\appdata\\local\\temp\\pip-in stall-c1vhye\\lxml\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile( code, __file__, '"'"'exec'"'"'))' install --record 'c:\users\v82406~1\appdata\local\temp\pip-record-y0cvp8\install-record.txt' --single-version-externally-manage d --compile --install-headers 'C:\Users\V82406169\PycharmProjects\test2\.venv\include\site\python2.7\lxml' Check the logs for full command output.
最新发布
11-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值