首页 > 解决方案 > pywine pip install 与 pywin32 挂起

问题描述

我正在尝试使用pywine使用 PyInstaller构建 Windows 应用程序,我有一个问题,当我尝试安装我的本地项目时 pip 只是在安装 pywin32 时永远挂起,我等了几个小时它仍然处于相同的状态.

root@e225029e4eb2:/python-common/src# wine pip install -vvv .
Using pip 21.2.4 from c:\Python39\lib\site-packages\pip (python 3.9)
Non-user install because site-packages writeable
Created temporary directory: C:\users\root\Temp\pip-ephem-wheel-cache-ik6hvu14
Created temporary directory: C:\users\root\Temp\pip-req-tracker-yzt2tp9d
Initialized build tracking at C:\users\root\Temp\pip-req-tracker-yzt2tp9d
Created build tracker: C:\users\root\Temp\pip-req-tracker-yzt2tp9d
Entered build tracker: C:\users\root\Temp\pip-req-tracker-yzt2tp9d
Created temporary directory: C:\users\root\Temp\pip-install-bjs1v1us
Processing z:\python-common\src
  Created temporary directory: C:\users\root\Temp\pip-req-build-wrj0pq2i
  DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommen
d you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
   pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
  Added file:///Z:/python-common/src to build tracker 'C:\\users\\root\\Temp\\pip-req-tracker-yzt2tp9d'
    Running setup.py (path:C:\users\root\Temp\pip-req-build-wrj0pq2i\setup.py) egg_info for package from file:///Z:/python-common/src
    Created temporary directory: C:\users\root\Temp\pip-pip-egg-info-0hldjjus
    Running command python setup.py egg_info
    running egg_info
    creating C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info
    writing C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\PKG-INFO
    writing dependency_links to C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\dependency_links.txt
    writing requirements to C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\requires.txt
    writing top-level names to C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\top_level.txt
    writing manifest file 'C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\SOURCES.txt'
    reading manifest file 'C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\SOURCES.txt'
    writing manifest file 'C:\users\root\Temp\pip-pip-egg-info-0hldjjus\SafeBreach_Python_Common.egg-info\SOURCES.txt'

这是ctrl-c后的错误

^CERROR: Operation cancelled by user
Exception information:
Traceback (most recent call last):
  File "c:\Python39\lib\site-packages\pip\_internal\cli\base_command.py", line 173, in _main
    status = self.run(options, args)
  File "c:\Python39\lib\site-packages\pip\_internal\cli\req_command.py", line 203, in wrapper
    return func(self, options, args)
  File "c:\Python39\lib\site-packages\pip\_internal\commands\install.py", line 315, in run
    requirement_set = resolver.resolve(
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 75, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 471, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 433, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 204, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 295, in __init__
    super().__init__(
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 227, in _prepare
    dist = self._prepare_distribution()
  File "c:\Python39\lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 305, in _prepare_distribution
    return self._factory.preparer.prepare_linked_requirement(
  File "c:\Python39\lib\site-packages\pip\_internal\operations\prepare.py", line 508, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "c:\Python39\lib\site-packages\pip\_internal\operations\prepare.py", line 570, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
  File "c:\Python39\lib\site-packages\pip\_internal\operations\prepare.py", line 60, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "c:\Python39\lib\site-packages\pip\_internal\distributions\sdist.py", line 36, in prepare_distribution_metadata
    self.req.prepare_metadata()
  File "c:\Python39\lib\site-packages\pip\_internal\req\req_install.py", line 528, in prepare_metadata
    self.metadata_directory = self._generate_metadata()
  File "c:\Python39\lib\site-packages\pip\_internal\req\req_install.py", line 504, in _generate_metadata
    return generate_metadata_legacy(
  File "c:\Python39\lib\site-packages\pip\_internal\operations\build\metadata_legacy.py", line 67, in generate_metadata
    call_subprocess(
  File "c:\Python39\lib\site-packages\pip\_internal\utils\subprocess.py", line 194, in call_subprocess
    line = proc.stdout.readline()  # type: str
  File "c:\Python39\lib\encodings\cp1252.py", line 22, in decode
    def decode(self, input, final=False):
KeyboardInterrupt
Removed file:///Z:/python-common/src from build tracker 'C:\\users\\root\\Temp\\pip-req-tracker-yzt2tp9d'
Removed build tracker: 'C:\\users\\root\\Temp\\pip-req-tracker-yzt2tp9d'

我尝试使用 Python3.9.6(主版本为 3.9.4)重建图像,并尝试了一些wine python -m pip或的组合,xvfb-run但似乎没有任何效果。

如果未安装 pywin32,它似乎能够通过此阶段(但后来我安装了 pywin32,但在其他安装中失败)。

我正在使用最新的点子,但我不确定还能做些什么来绕过这个问题。

标签: pythonpipwine

解决方案


推荐阅读