[Commented On] D8477: packaging: support building WiX installers with PyOxidizer

mharbison72 (Matt Harbison) phabricator at mercurial-scm.org
Mon Apr 27 03:36:31 UTC 2020


mharbison72 added a comment.


  I'm trying to build this with PyOxidizer and get an error after upgrading to v0.7.0.  I wonder if some of the references in `rust/hgcli/Cargo.lock` need to be updated from 0.7.0-pre.  Here's the command output:
  
    C:\Users\Matt\hg>py -3 contrib\packaging\packaging.py wix --pyoxidizer-target x86_64-pc-windows-msvc
    downloading https://versaweb.dl.sourceforge.net/project/gnuwin32/gettext/0.14.4/gettext-0.14.4-bin.zip to C:\Users\Matt\hg\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-bin.zip
    C:\Users\Matt\hg\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-bin.zip exists and passes integrity checks
    downloading https://versaweb.dl.sourceforge.net/project/gnuwin32/gettext/0.14.4/gettext-0.14.4-dep.zip to C:\Users\Matt\hg\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-dep.zip
    C:\Users\Matt\hg\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-dep.zip exists and passes integrity checks
    resolving 1 targets
    resolving target app_windows
    resolving target distribution_windows
    resolving target exe_windows
    resolving Python distribution Url { url: "https://github.com/indygreg/python-build-standalone/releases/download/20200408/cpython-3.7.7-windows-amd64-shared-pgo-20200409T0115.tar.zst", sha256: "c43c44ebfe9b9f9c59c12481a6233b17bc9a4ad965f8f0dc0063abff4dc59875" }
    Python distribution available at C:\Users\Matt\hg\build\pyoxidizer\python_distributions\cpython-3.7.7-windows-amd64-shared-pgo-20200409T0115.tar.zst
    reading data from Python distribution...
    pip installing to C:\Users\Matt\AppData\Local\Temp\pyoxidizer-pip-install.ILmZHu00Qhwj\install
    Non-user install due to --prefix or --target option
    Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-target-7s2381ds
    Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-ephem-wheel-cache-wv7fdx_0
    Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-2zs2cynh
    Initialized build tracking at C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-2zs2cynh
    Created build tracker: C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-2zs2cynh
    Entered build tracker: C:\Users\Matt\AppData\Local\Temp\pip-req-tracker-2zs2cynh
    Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-install-i2r5lvpe
    Processing c:\users\matt\hg
      Created temporary directory: C:\Users\Matt\AppData\Local\Temp\pip-req-build-2l899b53
    ERROR: Could not install packages due to an EnvironmentError.
    Traceback (most recent call last):
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\commands\install.py", line 331, in run
        resolver.resolve(requirement_set)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\legacy_resolve.py", line 177, in resolve
        discovered_reqs.extend(self._resolve_one(requirement_set, req))
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\legacy_resolve.py", line 333, in _resolve_one
        abstract_dist = self._get_abstract_dist_for(req_to_install)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\legacy_resolve.py", line 282, in _get_abstract_dist_for
        abstract_dist = self.preparer.prepare_linked_requirement(req)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\operations\prepare.py", line 482, in prepare_linked_requirement
        hashes=hashes,
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\operations\prepare.py", line 278, in unpack_url
        return unpack_file_url(link, location, download_dir, hashes=hashes)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\operations\prepare.py", line 224, in unpack_file_url
        _copy_source_tree(link_path, location)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\site-packages\pip-20.0.2-py3.7.egg\pip\_internal\operations\prepare.py", line 207, in _copy_source_tree
        shutil.copytree(source, target, **kwargs)
      File "C:\Users\Matt\hg\build\pyoxidizer\python_distributions\python.c43c44ebfe9b\python\install\lib\shutil.py", line 368, in copytree
        raise Error(errors)
    shutil.Error: [('C:\\Users\\Matt\\hg\\.hg\\wcache\\checklink', 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-build-2l899b53\\.hg\\wcache\\checklink', "[Errno 22] Invalid argument: 'C:\\\\Users\\\\Matt\\\\hg\\\\.hg\\\\wcache\\\\checklink'"), ('C:\\Users\\Matt\\hg\\build\\pyoxidizer\\python_distributions\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\python\\install\\Lib\\site-packages\\pip-19.3.1-py3.7.egg\\pip\\_vendor\\urllib3\\contrib\\_securetransport', 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-build-2l899b53\\build\\pyoxidizer\\python_distributions\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\python\\install\\Lib\\site-packages\\pip-19.3.1-py3.7.egg\\pip\\_vendor\\urllib3\\contrib\\_securetransport', "[WinError 3] The system cannot find the path specified: 'C:\\\\Users\\\\Matt\\\\AppData\\\\Local\\\\Temp\\\\pip-req-build-2l899b53\\\\build\\\\pyoxidizer\\\\python_distributions\\\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\\\python\\\\install\\\\Lib\\\\site-packages\\\\pip-19.3.1-py3.7.egg\\\\pip\\\\_vendor\\\\urllib3\\\\contrib\\\\_securetransport'"), ('C:\\Users\\Matt\\hg\\build\\pyoxidizer\\python_distributions\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\python\\install\\Lib\\site-packages\\pip-19.3.1-py3.7.egg\\pip\\_vendor\\urllib3\\packages', 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-build-2l899b53\\build\\pyoxidizer\\python_distributions\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\python\\install\\Lib\\site-packages\\pip-19.3.1-py3.7.egg\\pip\\_vendor\\urllib3\\packages', "[WinError 206] The filename or extension is too long: 'C:\\\\Users\\\\Matt\\\\AppData\\\\Local\\\\Temp\\\\pip-req-build-2l899b53\\\\build\\\\pyoxidizer\\\\python_distributions\\\\python.86a3260edabeed314c6f32a931e60dd097fa854b1346561443353e1bc90e3edd\\\\python\\\\install\\\\Lib\\\\site-packages\\\\pip-19.3.1-py3.7.egg\\\\pip\\\\_vendor\\\\urllib3\\\\packages'")]
    Cleaning up...
    Removed build tracker: 'C:\\Users\\Matt\\AppData\\Local\\Temp\\pip-req-tracker-2zs2cynh'
    error[PIP_INSTALL_ERROR]: error running pip install: error running pip
      --> C:\Users\Matt\hg\rust\hgcli\pyoxidizer.bzl:39:21
       |
    39 |     for resource in dist.pip_install(["--verbose", ROOT]):
       |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pip_install()
    
    
    error: error running pip install: error running pip

INLINE COMMENTS

> cli.py:133
> +        "--pyoxidizer-target",
> +        choices={"i686-pc-windows-msvc", "x86_64-pc-windows-msvc"},
> +        help="Build with PyOxidizer targeting this host triple",

Does this have to be run from a specific Visual Studio command prompt, such that this can be inferred from the environment?

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8477/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8477

To: indygreg, #hg-reviewers
Cc: mharbison72, durin42, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20200427/e5fe5b93/attachment-0002.html>


More information about the Mercurial-patches mailing list