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