gpt4 book ai didi

Python 无法通过命令行处理导入

转载 作者:可可西里 更新时间:2023-11-01 13:28:49 25 4
gpt4 key购买 nike

我的 python 脚本在 IDLE 下运行良好,但当我尝试从命令行运行它们时,出现问题。首先,我在导入 pygame 时遇到了问题,但我将 C:\Python27\Lib\site-packages 添加到 PYTHONPATH 环境变量中,我想一切都很好。但是,现在当我尝试从命令行运行某些东西时,我得到了这个:

C:\Users\Ian Sinke\Documents\Pong>python pong.py
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "pong.py", line 3, in ?
import pygame
File "C:\Python27\Lib\site-packages\pygame\__init__.py", line 27, in ?
import sys, os, string
File "C:\Python27\Lib\os.py", line 63, in ?
import ntpath as path
File "C:\Python27\Lib\ntpath.py", line 401
backslash, dot = (u'\\', u'.') if isinstance(path, unicode) else ('\\', '.')

^
SyntaxError: invalid syntax

有什么想法吗?

这不是本地化问题;当我尝试从命令行运行另一个脚本时,我得到了这个:

C:\Users\Ian Sinke\Documents>python app.py
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "app.py", line 4, in ?
import urllib2
File "C:\Python27\Lib\urllib2.py", line 92, in ?
import base64
File "C:\Python27\Lib\base64.py", line 346
with open(args[0], 'rb') as f:
^
SyntaxError: invalid syntax

而且这种语法绝对没问题......

Pong.py 是这样开始的:

#import sys
import math
import pygame
import time
from pygame.locals import *

# Helper functions
def centerdist(paddletop, balltop):
return balltop - paddletop - 30

# Constants
BLACK = 0, 0, 0

pygame.init()

最佳答案

这听起来好像您的计算机上有两个不同版本的 Python。一个是接受 Python 版本的三元表达式的更新版本,一个是旧版本。当您使用 IDLE 时,将调用较新的版本。当您使用命令行时,将调用旧版本。您可以通过从命令行运行 python -V 来确认或反驳这个假设。

为了详细说明,在 Python 2.5 中添加了对条件表达式的支持.因此,当您修改 PYTHONPATH 时,您最终会使用较旧版本的 python(根据您的测试,为 2.4)运行一个较新的 python 文件(听起来像是 2.7)。

关于Python 无法通过命令行处理导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10540605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com