Я установил модуль pygame, и он отлично работает, когда я пытаюсь запустить его из PyCharm или Sublime Text, но когда я пытаюсь запустить его из консоли или IDLE, он говорит: Ошибка: нет модуля с именем «pygame». Я должен упомянуть, что мой python 3.8 устанавливается не в папку по умолчанию, а в другой раздел в пользовательской папке. У меня также были проблемы с PATH и python, когда я впервые установил python.
Как исправить ошибку: нет модуля с именем «pygame»
Ответы (7)
Вы импортировали pygame в начале скрипта? Это может быть проблемой.
покажите нам свой код и мы постараемся вам помочь
также, если вы действительно импортировали pygame в свой код, не забудьте добавить
import sys
print sys.path
до первых трех строк и до импорта pygame :)
import sys
print sys.path
import pygame
я взял это из здесь.
Вот мой основной код. Не знаю, как правильно отформатировать...
```
import sys
print(sys.path)
import pygame
import klase
import funkcije
import os
import neat
WIN_W = 800
WIN_H = 400
gen = -1
def main(genomes, config):
global gen
gen += 1
nets = []
ge = []
floor = klase.Floor(0)
dinos = []
cactis = []
for _, g in genomes:
net = neat.nn.FeedForwardNetwork.create(g, config)
nets.append(net)
dinos.append(klase.Dino(-55))
g.fitness = 0
ge.append(g)
clock = pygame.time.Clock()
score = 0
run = True
win = pygame.display.set_mode((WIN_W, WIN_H))
while run:
clock.tick(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
pygame.quit()
quit()
cacti_ind = 0
if len(dinos) > 0:
if len(cactis) > 1 and dinos[0].x > cactis[0].x + cactis[0].img.get_width():
cacti_ind = 1
else:
run = False
break
if len(cactis) == 0:
funkcije.spawn_cacti(cactis)
for x, dino in enumerate(dinos):
ge[x].fitness += 0.01
if dino.y < dino.init_y + dino.dy:
ge[x].fitness -= 0.4
try:
next_cacti = cactis[cacti_ind + 1]
except IndexError:
next_cacti = cactis[cacti_ind]
output = nets[x].activate((dino.x, dino.y, abs(dino.x - cactis[cacti_ind].x), abs(dino.x - (cactis[cacti_ind].x + cactis[cacti_ind].img.get_width())), abs(dino.x - next_cacti.x)))
if output[0] > 0.5:
dino.jump()
add_score = False
for cacti in cactis:
for x, dino in enumerate(dinos):
if cacti.collide(dino):
ge[x].fitness -= 1
dinos.pop(x)
nets.pop(x)
ge.pop(x)
if not add_score and cacti.x + cacti.img.get_width() < dino.x:
add_score = True
rem = []
for cacti in cactis:
if cacti.x + cacti.img.get_width() < 0:
rem.append(cacti)
for r in rem:
cactis.remove(r)
if add_score:
score += 1
for g in ge:
g.fitness += 5
add_score = False
funkcije.move(floor, dinos, cactis)
funkcije.draw_window(win, floor, dinos, cactis, score, gen)
def run(config_path): config = аккуратный.config.Config(чистый.DefaultGenome, аккуратный.DefaultReproduction, аккуратный.DefaultSpeciesSet, аккуратный.DefaultStagnation, config_path)
p = neat.Population(config)
p.add_reporter(neat.StdOutReporter(True))
stats = neat.StatisticsReporter()
p.add_reporter(stats)
winner = p.run(main, 50)
if name == 'main': local_dir = os.path.dirname(file) config_path = os.path.join(local_dir, ' config-feedforward.txt') запустить (config_path)
</code>
Итак, в основном я только что добавил все возможные папки, связанные с python, в PYTHONPATH, и теперь он принимает pygame (он не дает никаких ошибок, когда я импортирую pygame из консоли), но теперь он вообще не запускает программы, и это тоже не хочет открывать IDLE. Я все еще могу нормально запустить его из Sublime
Если вы хотите использовать его в PyCharm, вам нужно перейти в настройки, затем в Project:name проекта, затем в Project Interpreter, затем в знак плюса, найти и установить Pygame
и/или другие модули. Конечно, сначала вам нужно установить интерпретатор, если он еще не установлен.
Вы должны установить модуль в папку Scripts вашей последней версии pythom. Я имею в виду:
Откройте командную строку.
Найдите папку, в которой установлен ваш python. Для этого введите:
cd /d [Путь к установке Python]
Например:
cd /d E:\Python\Scripts
Примечание. Вы должны добавить \Scripts после ввода местоположения Python. 3) Тип:
pip install pygame
После этого вы можете открыть файл бездействия, расположенный внутри папки python.
Решено.
Пожалуйста, проголосуйте, если вы найдете это полезным.
Я получил эту ошибку один раз, но все, что мне нужно было сделать, это установить ее с моей консоли.