Wyjątek podczas aktualizacji pip i instalacji pygame

0

Jestem dopiero w trakcie nauki Pythona. Ponieważ zmuszony jestem używać laptopa z Windowsem 7, korzystam z Pythona w wersji 3.8.3.

Dziś postanowiłem wypróbować pygame. Niestety, w trakcie instalacji natknąłem się na następujący problem:

C:\WINDOWS\System32>pip install pygame
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Requirement already satisfied: pygame in c:\users\rostov\appdata\local\programs\python\python38\lib\site-packages (2.3.0)
WARNING: Error parsing requirements for six: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\six-1.14.0.dist-info\\METADATA'

WARNING: Error parsing requirements for pylint: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\pylint-2.4.4.dist-info\\META
DATA'
WARNING: Error parsing requirements for mccabe: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\mccabe-0.6.1.dist-info\\META
DATA'
WARNING: Error parsing requirements for lazy-object-proxy: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\lazy_object_proxy
-1.4.3.dist-info\\METADATA'
WARNING: Error parsing requirements for isort: [Errno 13] Permission denied: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\isort-4.3.21.dist-info\\METADATA'
WARNING: Error parsing requirements for colorama: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\colorama-0.4.3.dist-info\\
METADATA'
WARNING: Error parsing requirements for astroid: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\astroid-2.3.3.dist-info\\ME
TADATA'
WARNING: You are using pip version 21.3.1; however, version 23.0.1 is available.
You should consider upgrading via the 'c:\users\rostov\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip' command.

Kiedy spróbowałem zaktualizować pip wg podanego sposobu, pojawił się kolejny problem:

C:\WINDOWS\System32>c:\users\rostov\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in c:\users\rostov\appdata\roaming\python\python38\site-packages (21.3.1)
Collecting pip
  Using cached pip-23.0.1-py3-none-any.whl (2.1 MB)
WARNING: Error parsing requirements for six: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\six-1.14.0.dist-info\\METADATA'

WARNING: Error parsing requirements for pylint: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\pylint-2.4.4.dist-info\\META
DATA'
WARNING: Error parsing requirements for mccabe: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\mccabe-0.6.1.dist-info\\META
DATA'
WARNING: Error parsing requirements for lazy-object-proxy: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\lazy_object_proxy
-1.4.3.dist-info\\METADATA'
WARNING: Error parsing requirements for isort: [Errno 13] Permission denied: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\isort-4.3.21.dist-info\\METADATA'
WARNING: Error parsing requirements for colorama: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\colorama-0.4.3.dist-info\\
METADATA'
WARNING: Error parsing requirements for astroid: [Errno 2] No such file or directory: 'c:\\users\\rostov\\appdata\\roaming\\python\\python38\\site-packages\\astroid-2.3.3.dist-info\\ME
TADATA'
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.3.1
    Uninstalling pip-21.3.1:
      Successfully uninstalled pip-21.3.1
  Rolling back uninstall of pip
  Moving to c:\users\rostov\appdata\roaming\python\python38\scripts\
   from C:\Users\Rostov\AppData\Roaming\Python\Python38\~cripts
  Moving to c:\users\rostov\appdata\roaming\python\python38\site-packages\pip-21.3.1.dist-info\
   from C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\~ip-21.3.1.dist-info
  Moving to c:\users\rostov\appdata\roaming\python\python38\site-packages\pip\
   from C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\~ip
ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\cli\base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\cli\req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\commands\install.py", line 404, in run
    installed = install_given_reqs(
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\req\__init__.py", line 73, in install_given_reqs
    requirement.install(
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\req\req_install.py", line 802, in install
    install_wheel(
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\operations\install\wheel.py", line 729, in install_wheel
    _install_wheel(
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\operations\install\wheel.py", line 646, in _install_wheel
    generated_console_scripts = maker.make_multiple(scripts_to_generate)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_vendor\distlib\scripts.py", line 428, in make_multiple
    filenames.extend(self.make(specification, options))
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_internal\operations\install\wheel.py", line 427, in make
    return super().make(specification, options)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_vendor\distlib\scripts.py", line 417, in make
    self._make_script(entry, filenames, options=options)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_vendor\distlib\scripts.py", line 317, in _make_script
    self._write_script(scriptnames, shebang, script, filenames, ext)
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_vendor\distlib\scripts.py", line 247, in _write_script
    launcher = self._get_launcher('t')
  File "C:\Users\Rostov\AppData\Roaming\Python\Python38\site-packages\pip\_vendor\distlib\scripts.py", line 396, in _get_launcher
    raise ValueError(msg)
ValueError: Unable to find resource t64.exe in package pip._vendor.distlib
WARNING: You are using pip version 21.3.1; however, version 23.0.1 is available.
You should consider upgrading via the 'c:\users\rostov\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip' command.

Co robię źle? Jak te problemy rozwiązać?

1

Google mówi

# Uninstall SetupTools:
python -m pip uninstall pip setuptools

# Upgrade PIP:
pip3 install --upgrade pip

# Reinstall Setuptools:
pip install --upgrade setuptools
0

@Spearhead: o ile deinstalacja SetupTools przebiegła prawidłowo, bez żadnych błędów, to już przy próbie upgrade'u PIP wystąpił taki problem:

C:\WINDOWS\System32>pip3 install --upgrade pip
Nazwa 'pip3' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne,
program wykonywalny lub plik wsadowy.
1

Moja rada. Nie ucz się pygame-a -to bezużyteczna biblioteka. Na rynku pracy ci się wiedza z pygame-a nie przyda. Żeby bzdurkę wyświetlić musisz używać pętli i nadmiarowego kodu. A dlaczego się nie ucz - wszystko co zrobisz w pygame będzie wyglądało nieprofesjonalnie i narobisz się niepotrzebnie, bo dużo czasu zajmuje pisanie kodu w nim. Uważam pygame za nieudaną bibliotekę taką jak tkinter. Jak chcesz coś szybko zrobić wybierz silnik renpy - on pozwala zagnieżdzać kod Pythona; dodawać mówione dialogi, muzykę, grafikę bez komplikacji; skupisz się na designie. Niestety wadą jego jest to, że jest tylko albo głównie do Visual Novels. W tydzień zrobisz grę, a nie jak w pygame półroku.

1

@Czysty kod: Jest jeszcze Pygame Zero. https://pygame-zero.readthedocs.io/en/stable/
Nie używałem, ale z tego co piszą na wstępie, to można się spodziewać mniej nadmiarowego kodu:

Pygame Zero is for creating games without boilerplate.

Tutorial pokazuje jak to wygląda: https://pygame-zero.readthedocs.io/en/stable/introduction.html#creating-a-window


A tak w ogóle na dłuższą metę Python będzie słabym narzędziem w rękach twórcy gier.
Nawet proste gry to projekty, w których dużo się dzieje, a utrzymanie kodu Pythona jest bardziej wymagające niż utrzymanie kodu pisanego w językach statycznie typowanych jak np. C# (Unity 3D).

0

@Czysty kod: @Spine : tu nie tyle chodzi o samo pygame, które chciałem tylko przetestować, bo zostało użyte w kursie, ale o ogólny problem z instalowaniem bibliotek i aktualizacją pip.

0

@Rostov: No to wiesz... Jak ja zaczynałem uczyć się Pythona, to używało się wersji 2.6. Nie używałem pip, tylko używałem instalki ze strony: https://www.pygame.org/download.shtml
Zainstaluj Pythona 3.2 na tym Windowsie 7.
A potem zainstaluj tą wersję pygame: http://pygame.org/ftp/pygame-1.9.2a0.win32-py3.2.msi

Może kurs nie jest jakiś super nowoczesny i nie wykorzystuje nowych feature'ów pygame i Pythona, więc dasz radę uczyć się na starszym oprogramowaniu.

Ewentualnie na tym Windows 7 postaw wirtualkę z Linuksem i zainstaluj tam pygame menadżerem pakietów.

0

Chciałem tylko napisać, że problem rozwiązało zainstalowanie Pythona tym instalatorem:

https://github.com/adang1345/PythonWin7

od razu w najnowszej wersji. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1