Sys_platform не определен x64 Windows

Это немного раздражало меня. Недавно я обновился до 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

Пакет был установлен отлично, но я не могу создавать колеса. Я попытался переустановить дистрибутив вручную, загрузив zip и запустив python setup.py install. Это удивительно удивительно, без затруднений. Но я все еще имею вышеуказанную проблему.

Как переопределить sys_platform?

Хорошо, я вернул x86 хороший 32-разрядный Python ole, и у меня все еще есть проблема. Это действительно касается, потому что я не могу reset после повторной установки. Я смотрел на markerlib, который выглядит многообещающим, но я не знаю, как его безопасно использовать. В настоящее время я не могу установить что-либо из PyPI, поэтому я уделяю больше внимания интересам.

Любая помощь? Я действительно хочу снова использовать PyPI.

Я выбрал выбранный ответ, поскольку он, скорее всего, решит проблему. Я сам вернулся к x86 Python, поэтому я не могу проверить это сам. Поэтому я призываю будущих посетителей попробовать этот ответ, но я сам не смог его протестировать.

Ответы

Ответ 1

  • Может быть ошибка. Выезд: https://bugs.python.org/
  • Вы можете вручную проверить файл markers.py и попытаться его исправить. Я думаю, что будет ссылка на sys_platform, которая должна быть изменена на sys.platform
  • Что касается маркера, вы можете попробовать это -

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

Ответ 2

Чтобы исправить эту ошибку, я обнаружил, что установка версии 0.7.3 для распространения исправлена. Я также обновил setuptools и pip по пути (так что они также могут понадобиться), но после обновления распространения эта ошибка, наконец, ушла.

Ответ 3

Попробуйте удалить pip и распространить и setuptools, а затем вручную установить pip, используя get-pip.py.

Затем загрузите setuptools из здесь, extract → зайдите в извлеченную папку в командной строке и сделайте python setup.py install

Затем скачайте дистрибутив из здесь, extract → зайдите в извлеченную папку в командной строке и сделайте python setup.py install

Ответ 4

Сегодня я столкнулся с этой проблемой, хотя на OSX. Я выполнил --upgrade, а также попытался полностью удалить и переустановить его.

В конце концов, хотя я вошел в пакеты своего сайта и увидел "правильную" версию setuptools (18.1) AS WELL как более старую, содержащую ее версию (полностью отдельную версию 15.1). Удалив все это и переустановив setuptools свежий, исправьте его для меня.

Надеюсь, это поможет кому-то еще!

Ответ 5

У меня была старая версия распространения, которая неправильно решала зависимости. Он был зафиксирован с помощью

C:\Users\cshucks>pip install --upgrade distribute
Collecting distribute
  Downloading distribute-0.7.3.zip (145kB)
    100% |################################| 147kB 375kB/s
Collecting setuptools>=0.7 (from distribute)
  Downloading setuptools-19.2-py2.py3-none-any.whl (463kB)
    100% |################################| 466kB 440kB/s
Installing collected packages: setuptools, distribute
  Found existing installation: setuptools 16.0
    Uninstalling setuptools-16.0:
      Successfully uninstalled setuptools-16.0
  Found existing installation: distribute 0.6.49
    Uninstalling distribute-0.6.49:
      Successfully uninstalled distribute-0.6.49
  Running setup.py install for distribute
Successfully installed distribute-0.7.3 setuptools-19.2