2015-05-31 10 views
16

To mnie dręczyło przez chwilę. Niedawno uaktualniłem do Pythona x64 i zacząłem dostawać ten błąd (przykładowa instalacja pip).sys_platform nie jest zdefiniowany x64 Windows

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 

Pakiet został zainstalowany dobrze, ale nie mogę budować kół. Próbowałem ponownie zainstalować dystrybucję ręcznie, pobierając zip i działając python setup.py install. To było cudownie, bez żadnych problemów. Nadal mam powyższy problem.

Jak mogę ponownie zdefiniować sys_platform?

W porządku, cofnąłem się do dobrego 32-bitowego Pythona dla x86 i nadal mam problem. To naprawdę dotyczy, ponieważ nie mogę zresetować tego po ponownej instalacji. Spojrzałem na markerlib, który wygląda obiecująco, ale nie wiem, jak go bezpiecznie używać. Obecnie nie jestem w stanie zainstalować prawie żadnej wersji nic od od PyPI, więc daję punkty, aby zwiększyć zainteresowanie.

Każda pomoc? Naprawdę chcę móc ponownie używać PyPI.

Wybrałem wybraną odpowiedź, ponieważ jest to najprawdopodobniej, aby rozwiązać problem. Sam wróciłem do Pythona x86, więc nie mogę tego przetestować samodzielnie. Dlatego zachęcam przyszłych użytkowników do wypróbowania tej odpowiedzi, ale nie byłem w stanie jej przetestować.

+0

Pecha z problemem? – CrakC

+0

Nie, ale czy w odpowiedzi mógłbyś zamieścić następujące odpowiedzi? 'Notatka z PO: Wybrałem to pytanie, ponieważ jest to największe prawdopodobieństwo rozwiązania problemu. Sam wróciłem do Pythona x86, więc nie mogę tego przetestować samodzielnie. Dlatego zachęcam przyszłych użytkowników do wypróbowania tej odpowiedzi, ale nie byłem w stanie jej przetestować. "(Dzięki @CRAKC, jeśli to publikujesz) – IronManMark20

+0

cóż, polecam, abyś to zrobił. Opublikuj jako komentarz do mojej odpowiedzi. Jeśli dodam to do mojej odpowiedzi, nie ma to sensu, ponieważ to ty przyjąłeś odpowiedź i ja jestem tym, który opublikował odpowiedź. Myślę, że rozumiesz. :) – CrakC

Odpowiedz

7
  1. Może to być błąd. Sprawdź: https://bugs.python.org/
  2. Możesz ręcznie sprawdzić plik markers.py i spróbować go naprawić. Myślę, że będzie odwołanie do sys_platform, który ma zostać zmieniony, aby sys.platform
  3. Odnośnie markerlib, można spróbować to uliczne

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

Czy ktoś może udostępnić, który krok jest właściwą odpowiedzią? 1, 2 lub 3? Dzięki! –

+0

@ DominicJodoin wypróbuj je wszystkie. Proszę przeczytać to (wysłane przez osobę pytającą) ** Uwaga z PO: Wybrałem to pytanie, ponieważ jest ono najbardziej prawdopodobne, aby rozwiązać problem. Sam wróciłem do Pythona x86, więc nie mogę tego przetestować samodzielnie. Dlatego zachęcam przyszłych użytkowników do wypróbowania tej odpowiedzi, ale nie byłem w stanie jej przetestować. ** – CrakC

4

Aby naprawić ten błąd, znalazłem, że zainstalowanie wersji 0.7.3 dystrybucji naprawiono. W międzyczasie zaktualizowałem setuptools i pip (więc mogą być one również potrzebne), ale po aktualizacji dystrybucji ten błąd w końcu zniknął.

+0

Nie. Właśnie ponownie zainstalowałem dystrybucję z witryny PyPi bez skutku. Zaktualizowałem również setuptools i pip. Dzięki za sugestię. – IronManMark20

4

Spróbuj usunąć pip, rozprowadź i skonfiguruj sprzęt, a następnie ręcznie zainstaluj pip, używając get-pip.py.

Następnie pobierz setuptools z here, ekstrakt -> iść wewnątrz wydobytego folderu w wierszu polecenia i zrobić python setup.py install

Następnie pobierz rozprowadzać od here, ekstrakt -> iść wewnątrz wydobytego folderu w wierszu polecenia i zrobić python setup.py install

+1

Oczywiście zrobiłem to jako mój pierwszy krok, ale to wcale nie pomogło. Po raz kolejny spróbowałem i kiedy wypróbowałem 'python setup.py install' dla dystrybucji, nie powiodło się' error: [Errno 2] Brak takiego pliku lub katalogu: 'C: \\ Users \\ \\ Downloads \\ distribute-0.7.3 \\ setuptools \\ cli-32.exe'', który nie znajduje się w podanym folderze (ręcznie zaznaczony). Więc nie, to nie pomogło. W każdym razie dzięki. – IronManMark20

0

wpadłem na ten problem już sam, choć na OSX. Uruchomiłem --upgrade, a także staram się całkowicie go odinstalować i zainstalować ponownie.

końcu jednak poszłam do moich pakietów miejscu i zobaczył „właściwą” wersję setuptools (18,1), a także starszy przewlekły wersja niego (wersja 15.1 całkowicie oddzielone od niego). Usunięcie wszystkiego i ponowne zainstalowanie setuptools fresh naprawiono dla mnie.

Mam nadzieję, że to pomoże komuś innemu!

0

Posiadałem starą wersję dystrybucji, która nie rozwiązała poprawnie zależności. Zostało naprawione za pomocą

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 
Powiązane problemy