Python PIP Установить в Windows отсутствуют подкаталоги? - PullRequest
1 голос
/ 04 мая 2019

Мой 11-летний сын пытается следовать книге Кэрол Фордерман «Игры для детей на Python», но сталкивается с фундаментальной проблемой при установке, а затем с использованием модуля «Актеры» (стр. 52 и далее) книги в Windows 10. Нет инструкции предоставляются для установки или импорта этого. Мы установили «актеры» (0.5.1b1), используя pip:

pip install actors

Установка успешно работает, об ошибках не сообщается, и появляется (базовая) установка актеров. (Мы также попробовали python -m pip install actors, с точно таким же результатом).

Однако, любая попытка импортировать актеров; например.,

from actors import Actor

завершается с:

ModuleNotFoundError: no module name 'actors.internal'

из строки 29 actors\__init__.py. Это достаточно справедливо, потому что он пытается импортировать messages из actors.internal, который, кажется, не существует.

Вещи, которые я проверил после импорта:

  • загруженный файл .tar.gz включает в себя загрузку подкаталогов, в том числе internal; но это не делает это в диск. Похоже, что pip неправильно обрабатывает файл .tar.gz? Но, кажется, трудно поверить, что такой основной провал остался незамеченным.
  • на диске свободно 116G, поэтому он не хватает места.
  • Я проверил другие ответы ( Установка Python pip не работает в Windows , Установка pip в общем каталоге (windows) ), но они здесь не применимы.

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

Это ошибка в дистрибутиве.В нем перечислены packages=['actors'],, но в нем должны быть перечислены также все подпакеты (internal и utils).

Ошибка , о которой сообщалось в 2016 году и до сих пор не решена.Таким образом, мы можем догадаться, что пакет заброшен, и вы ничего не можете сделать, чтобы исправить его (кроме разветвления и исправления самостоятельно).

1 голос
/ 04 мая 2019

Вам необходимо запустить программу через Pygame Zero , поскольку она добавляет несколько вещей для вас (например, открытие окна, обработка событий ОС, определение, что такое Actor или Sprite и т. Д.).

Установите его с помощью: pip install pgzero

А затем вместо обычного запуска файла через python my_file.py

Вы должны запустить его с: pgzrun my_file.py


Если это не сработает, вы можете попробовать поставить import pgzrun в первой строке программы и pgzrun.go() в последней строке, а затем запустить файл как обычно: python my_file.py.

Источник исправлений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...