2017-07-28 74 views
0

我想使用atom作爲我的python編輯器,但每次運行該程序時都會收到有關PATH的一些奇怪錯誤。我的代碼在PyScripter等其他編輯器中工作得很好,但不是Atom。我已經卸載並重新安裝了多次Atom,但收到相同的錯誤。我想使用atom作爲我的python編輯器,但每次運行程序時都會收到一些有關PATH的奇怪錯誤。

# shmup game 
import pygame 
import random 

WIDTH = 480 
HEIGHT = 600 
FPS = 60 

# define colors 
WHITE = (255, 255, 255) 
BLACK = (0, 0, 0) 
RED = (255, 0, 0) 
GREEN = (0, 255, 0) 
BLUE = (0, 0, 255) 

# initialize pygame and create window 
pygame.init() 
pygame.mixer.init() 
screen = pygame.display.set_mode((WIDTH, HEIGHT)) 
pygame.display.set_caption("Shmup!") 
clock = pygame.time.Clock() 

class Player(pygame.sprite.Sprite): 
    def __init__(self): 
     pygame.sprite.Sprite.__init__(self) 
     self.image = pygame.Surface((50, 40)) 
     self.image.fill(GREEN) 
     self.rect = self.image.get_rect() 
     self.rect.centerx = WIDTH/2 
     self.rect.bottom = HEIGHT - 10 
     self.speedx = 0 
    def update(self): 
     self.speedx = 0 
     keystate = pygame.key.get_pressed() 
     if keystate[pygame.K_LEFT]: 
      self.speedx = -5 
     if keystate[pygame.K_RIGHT]: 
      self.speedx = 5 
     if self.rect.right > WIDTH: 
      self.rect.right = WIDTH 
     if self.rect.left < 0: 
      self.rect.left = 0 
     self.rect.x += self.speedx 

class Mob(pygame.sprite.Sprite): 
    def __init__(self): 
     pygame.sprite.Sprite.__init__(self) 
     self.image = pygame.Surface((30, 40)) 
     self.image.fill(RED) 
     self.rect = self.image.get_rect() 
     self.rect.x = random.randrange(WIDTH - self.rect.width) 
     self.rect.y = random.randrange(-100, -49) 
     self.speedy = random.randrange(1, 8) 
     self.speedx = random.randrange(-3, 3) 

    def update(self): 
     self.rect.x += self.speedx 
     self.rect.y += self.speedy 
     if self.rect.top > HEIGHT + 10 or self.rect.left < -25 or 
     self.rect.right > WIDTH + 20: 
      self.rect.x = random.randrange(WIDTH - self.rect.width) 
      self.rect.y = random.randrange(-100, -49) 
      self.speedy = random.randrange(1, 8) 



all_sprites = pygame.sprite.Group() 
mobs = pygame.sprite.Group() 
player = Player() 
all_sprites.add(player) 
for i in range(8): 
    m = Mob() 
    all_sprites.add(m) 
    mobs.add(m) 
# Game loop 
running = True 
while running: 
    # keep loop running at the right speed 
    clock.tick(FPS) 
    # Process input (events) 
    for event in pygame.event.get(): 
     # check for closing window 
     if event.type == pygame.QUIT: 
      running = False 

    # Update 
    all_sprites.update() 
    # check to see if mob hit player 
    hits = pygame.sprite.spritecollide(player, mobs, False) 

    # Draw/render 
    screen.fill(BLACK) 
    all_sprites.draw(screen) 
    # *after* drawing everything, flip the display 
    pygame.display.flip() 

pygame.quit() 

,這是我的錯誤 找不到命令:蟒蛇

Are you sure PATH is configured correctly? 

ENV PATH: C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Common Files\lenovo\easyplussdk\bin;C:\ProgramData\Lenovo\ReadyApps 

Error: spawn python ENOENT 
    at exports._errnoException (util.js:1026:11) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) 
    at onErrorNT (internal/child_process.js:359:16) 
    at _combinedTickCallback (internal/process/next_tick.js:74:11) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

有誰知道該怎麼辦?

回答

0

我會假設你使用atom-runner,在這種情況下,根據對issue #127響應:

PATH需要包括與它內部的python.exe二進制至少一個目錄。我的猜測是你最終列出的目錄都沒有可執行文件。您應該進入Python35目錄並查找python.exe二進制文件(通常位於bin\子目錄中),並在您的環境變量中使用該路徑。

我也看到你沒有凌在PATH要麼,你應該添加以下目錄到它:

C:\Users\<USERNAME>\AppData\Local\atom\bin 
相關問題