Luc*_*cas 11 python python-3.x
我更新了我的python解释器,但我认为旧的仍然被调用.当我检查我得到的版本时:
$ python -V
Python 3.0.1
Run Code Online (Sandbox Code Playgroud)
但我相信旧的翻译仍然被称为.当我运行命令时:
python myProg.py
Run Code Online (Sandbox Code Playgroud)
该脚本运行正常.但是当我用命令调用它时
./myProg.py
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
AttributeError: 'str' object has no attribute 'format'
Run Code Online (Sandbox Code Playgroud)
这显然是由于旧的翻译被称为.我怎样才能解决这个问题?我运行Mac OS X 10.5.它与第一行有关:
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
我刚开始使用python并且对解释语言不是很熟悉,所以我不太清楚发生了什么.
编辑:哇,那很快.非常感谢!
mip*_*adi 16
根据脚本的第一行#!/usr/bin/python,您正在调用Python解释器/usr/bin/python(很可能是Mac OS X附带的解释器).您必须将该路径更改为安装Python 3解释器的路径(可能/usr/local/bin/python或/opt/local/bin/python); 或者您可以将该行更改为读取#!/usr/bin/env python,这将python在您的PATH变量中调用列出的第一行(这似乎是您安装的较新版本).
首先,推荐的shebang系列是:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
这将确保./foo.py当您从命令行调用python时调用的同一个解释器时调用的python解释器.
根据您的描述,我怀疑如果您这样做:
which python
Run Code Online (Sandbox Code Playgroud)
它不会给你/usr/bin/python.它会给你一些其他东西,这是python 3解释器所在的地方.您可以将shebang行修改为上面的行,或者使用返回的路径替换python解释器的路径which.
| 归档时间: |
|
| 查看次数: |
14230 次 |
| 最近记录: |