比如 Mac 下给以权限,终端下执行./hello.py 时,无法执行,总是 vi 打开 hello.py

2015-06-08 12:48:09 +08:00
 camellias
诡异的问题,谁能告知为何吗,搜过没看到有同种情况的
2930 次点击
所在节点    Python
12 条回复
strongcoder
2015-06-08 12:51:30 +08:00
进入目录侯这样执行
python hello.py
biaoxinxiuge
2015-06-08 13:11:29 +08:00
行首添加#!/usr/bin/python,告诉shell使用/usr/bin/python来运行此脚本。
henryon
2015-06-08 13:12:31 +08:00
#!/bin/env python
Andrewliu
2015-06-08 13:21:40 +08:00
行首添加#!/usr/bin/env python
lilydjwg
2015-06-08 13:29:36 +08:00
@henryon 没听说过有系统的 env 位于 /bin 而不是 /usr/bin 呀。

你的描述非常不清楚。我需要以下信息:

1. 你的文件有没有 shebang(第一行是不是 #! 开头),以及它是什么
2. 你的文件有没有可执行权限
3. 你的 shell 是什么,是不是设置了对不可执行文件,按文件后缀启动相应的程序?
Andy1999
2015-06-08 13:29:58 +08:00
python xxx.py ……
mortal
2015-06-08 14:02:00 +08:00
我来恶搞一下……

sudo alias vi="python"
lilydjwg
2015-06-08 14:07:03 +08:00
@mortal alias: command not found.
wind3110991
2015-06-08 20:58:22 +08:00
@mortal
第一,MacOS没有自带alias,所以不可能执行alias命令引用
第二,你的情况可能是没有进入正确目录,如果你用终端的话,要不直接打

"""
python (把执行文件拖到终端自动生成文件路径)
"""

如果不行就是python bash下启动项环境错误了
"""
vim .bash_profile
"""
看下,里面的环境PATH正确没有,是不是你之前配置vim的时候乱加了东西进去
python 2.7应该是这样的

""" python 2.7
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
"""

"""python 3.4
# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH
"""
mortal
2015-06-08 21:07:17 +08:00
@lilydjwg
@wind3110991

这么严谨=。=
camellias
2015-06-08 21:42:53 +08:00
@mortal 好吧你是对的,最终解决就是那条当日手贱添加到.zshrc中的别名
谢各位
phx13ye
2015-06-09 00:10:56 +08:00
@camellias 6的飞起

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/196890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX