sys_platform未定义x64 Windows

Iro*_*k20 16 python pip

这一直困扰着我.我最近升级到x64 Python,我开始收到此错误(示例pip install).

C:\Users\<uname>\distribute-0.6.35>pip install python-qt
Collecting python-qt
  Downloading python-qt-0.50.tar.gz
Building wheels for collected packages: python-qt
  Running setup.py bdist_wheel for python-qt
  Complete output from command C:\Python27\python.exe -c "import setuptools;__file__='c:\\users\\<uname>\\appdata\\local\\t
emp\\pip-build-vonat7\\python-qt\\setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bd
ist_wheel -d c:\users\<uname>\appdata\local\temp\tmpghy5gtpip-wheel-:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "c:\users\<uname>\appdata\local\temp\pip-build-vonat7\python-qt\setup.py", line 11, in <module>
      packages=['Qt'],
    File "C:\Python27\lib\distutils\core.py", line 137, in setup
      ok = dist.parse_command_line()
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\setuptools\dist.py", line 232, in parse_command_line
      result = _Distribution.parse_command_line(self)
    File "C:\Python27\lib\distutils\dist.py", line 467, in parse_command_line
      args = self._parse_command_opts(parser, args)
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\setuptools\dist.py", line 558, in _parse_command_opts
      nargs = _Distribution._parse_command_opts(self, parser, args)
    File "C:\Python27\lib\distutils\dist.py", line 523, in _parse_command_opts
      cmd_class = self.get_command_class(command)
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\setuptools\dist.py", line 362, in get_command_class
      ep.require(installer=self.fetch_build_egg)
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\pkg_resources.py", line 2027, in require
      working_set.resolve(self.dist.requires(self.extras),env,installer))
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\pkg_resources.py", line 2237, in requires
      dm = self._dep_map
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\pkg_resources.py", line 2466, in _dep_map
      self.__dep_map = self._compute_dependencies()
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\pkg_resources.py", line 2499, in _compute_dependencies
      common = frozenset(reqs_for_extra(None))
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\pkg_resources.py", line 2496, in reqs_for_extra
      if req.marker_fn(override={'extra':extra}):
    File "C:\Python27\lib\site-packages\distribute-0.6.35-py2.7.egg\_markerlib\markers.py", line 109, in marker_fn
      return eval(compiled_marker, environment)
    File "<environment marker>", line 1, in <module>
  NameError: name 'sys_platform' is not defined

  ----------------------------------------
  Failed building wheel for python-qt
Failed to build python-qt
Installing collected packages: python-qt
  Running setup.py install for python-qt
Successfully installed python-qt-0.50
Run Code Online (Sandbox Code Playgroud)

包裹安装得很好,但我不能建造轮子.我尝试通过下载zip并运行来手动重新安装分发python setup.py install.安装奇妙,没有任何障碍.但我仍然有上述问题.

如何重新定义sys_platform?

好吧,我回滚到x86 good ole 32 bit Python,我仍然有问题.这真的很令人担忧,因为重新安装后我无法重置它.我看了一下看起来很有前景的markerlib,但我不知道如何安全地使用它.目前我无法从PyPI 安装任何东西,所以我给予积分以增加兴趣.

有帮助吗?我真的希望能够再次使用PyPI.

我选择了所选答案,因为它最有可能解决问题.我自己已经回到了x86 Python,所以我自己无法测试.因此,我鼓励未来的访客尝试这个答案,但我没有能够测试它.

Cra*_*akC 7

  1. 可能是一个bug.退房:https://bugs.python.org/
  2. 您可以手动检查markers.py文件并尝试修复它.我认为有sys_platform必要将其改为sys.platform
  3. 关于markerlib,你可以试试这个 -

    import markerlib
    marker = markerlib.compile("sys.platform == 'win32'")
    marker(environment=markerlib.default_environment(), override={'sys.platform':'win32'})
    
    Run Code Online (Sandbox Code Playgroud)