问个兄弟们一定觉得极其白痴但我却从八点到现在一直未解决的问题, Google 百度搜出的答案依然没有解决我的问题。(果然我太笨了吗,太伤心了)

2015-02-10 00:46:52 +08:00
 crown
最近比较闲,想再上进一些顺便让MacBook物尽其用就想着自学编程,从python开始。
然后我看了 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001375502200090e998439175cc4268b0ea703b3b4ed55e000
老廖的教程。当然也有其他很多教程,这里就不一一摆出来了。
我想运行自己刚用sublime text 保存的py代码。
我原样输入$ chmod a+x ex.py 终端提示我-bash: $: command not found
我输入./ex.py 终端提示我-bash: ./ex.py: No such file or directory
我的工具是Yosemite自带的终端及自带的python2.7,py文件我用sublime text保存在~/Documents/ex.py
我知道这个大概是个什么问题,一个是老廖的命令可能是老版本的?一个是终端找不到我放在文档文件夹下的ex.py。但就是想不通怎么解决。搜到的答案大多是在windows下的解决方案,而搜到的Mac解决方案我照做了却没有用,终端提示依然和上面一样。
我想问的是:
1.我该把怎么做才能让./ex.py这个命令运行起来(我估计是要挪动到哪个位置吧?那么如果不挪动的话能有办法运行吗,如果能,又怎么做呢)
2.既然码了这么多字,顺便搭车问下,我想学习的方向是网页后端为主,前端为辅(当然按我这效率要学到前端估计要很久了),我的语言学习方向可以指点一下吗!我希望学的方向及内容以后能够互相帮助互相增进效率,少走一些弯路(不知道用什么更贴切的词汇了。。)
最后再卖个萌吧,听说php是世界上最好的语言!(:-)
3753 次点击
所在节点    问与答
35 条回复
ayang23
2015-02-10 00:53:07 +08:00
“$ chmod a+x ex.py” 这几个字母全输入了吗?你把提示符$都给输入了所以找不到$
icedx
2015-02-10 00:53:42 +08:00
python ex.py

或者在Sublime 下按Ctrl+B
ayang23
2015-02-10 00:54:11 +08:00
用"python ex.py", 每个文件chmod多麻烦
Sylv
2015-02-10 00:57:28 +08:00
最前面的 $ 别输,那是提示符
然后你要 cd 到 ex.py 所在的文件夹里,例如: cd ~/Documents,之后才能 ./ex.py,否则要输全路径:~/Documents/ex.py 来运行
推荐还是用 python ex.py 的方式来运行
sennes
2015-02-10 00:57:29 +08:00
首先你要找到你的文件在哪。
在终端先 ls 看看当前目录有没有 你的 ex.py 文件
没有的话,先 cd 到 Documents
chmod 是改权限的吧。
你可以先试试 python ex.py 看看能不能run..
crown
2015-02-10 00:57:53 +08:00
@icedx
@ayang23
wangguandeMBP:~ wangguan$ python ex.py
python: can't open file 'ex.py': [Errno 2] No such file or directory
会显示这样
konakona
2015-02-10 00:59:41 +08:00
@crown 你在逗我们...

你首先要CD进入你py文件所在的目录,否则就在打开终端的时候python后面输入完整的文件路径..
sennes
2015-02-10 01:00:08 +08:00
@crown 因为你还在根目录,你的文件在/Documents
所以
cd Documents
然后
python ex.py

你应该先去学习一下基础的linux命令先。
比如最基础的 cd ls 这两个命令
tanyuxiang
2015-02-10 01:04:25 +08:00
花几个星期折腾linux先。。。。
sennes
2015-02-10 01:11:13 +08:00
您遇到的问题和你笨不笨没关系,可能是您还不熟悉终端怎么用?
你想在终端折腾python,那我建议您先去稍微学习一下linux的命令
加油!
crown
2015-02-10 01:12:17 +08:00
@ayang23
@icedx
@Sylv
@sennes
@konakona
@tanyuxiang
哎,被自己蠢哭了:-(抽了支烟的功夫这么多兄弟来解答真是太感动了。
问题已初步解决,如sennes konakona sylv兄弟所说,首先要cd到~/Documents然后python ./ex.py就跑起来了。但是我还有一点有一点不解,就是如我主题所附的老廖的链接下方老廖的图的命令是./ex.py而没有python,这个是怎么实现的呢。另外他没有cd到任何目录是不是唯一的解释就是他的那个文件就在根目录?另外再次感谢sennes,让我理解了很多常识跟过程。
icedx
2015-02-10 01:15:11 +08:00
好像环境变量的PATH 不包含. 吧
Tink
2015-02-10 01:27:27 +08:00
ex.py
首行/usr/bin/python 试试
Tink
2015-02-10 01:30:32 +08:00
#!/usr/bin/python
crown
2015-02-10 01:37:33 +08:00
@Tink 我原来的第一行是这个#!/usr/bin/env python,你这个不规范吧。。第一次看到这样的,我改了之后没有变化。
我还想问下你知道首行加上#!/usr/bin/env python这个是什么意思吗,谢谢。
tanyuxiang
2015-02-10 01:40:47 +08:00
@crown 文件首行指定了解释器。
crown
2015-02-10 01:41:15 +08:00
@Tink 不好意思,闹笑话了,已查清。
Croath
2015-02-10 01:42:48 +08:00
慢慢来啊。学习编程是个金字塔,你看到的一点东西,可能下面有巨大的根基来支撑它。如果一次通过没问题那是最好,出现了问题,就可能是巨大金字塔下面不一定哪块砖没摆好,就要去学习那块砖是怎么摆的。学校的学习方法是从地下开始一层一层学,你这样从上面开始抓,遇到一个问题就学习一块,最后也是能够达到一样的效果的。

或者说,遇到的问题越多,你掌握的知识也就越来越多了。

加油啊。
crown
2015-02-10 01:55:49 +08:00
@Croath 嗯,我初中就因为各方面辍学了,父母都是公务员工作还算顺利,看在面子上没念完但学校给了初中毕业证书,10年至今走了无数弯路,但家里依靠人脉让我有一份混日子的工作。但这样的日子总是不尽人意的,以前因为思想问题没能接受函授,也因为思想问题没有早些开始自学,今年准备花钱挂个函授,有总比没有好。现在是静下心来认真地想提高技术水平:-)谢谢你的鼓励
crown
2015-02-10 02:04:45 +08:00
@Tink #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
#!/usr/bin/python相当于写死了python路径;
#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法
我感觉有#!/usr/bin/env python在的话,#!/usr/bin/python这段应该很难找到地方用上吧。
之前可能是头昏脑胀哪里疏忽了,反正现在首行#!/usr/bin/env python 进入目录./ex.py能跑起来,不加python也可以了,真是蛋疼啊!一晚上耗上面了,看在问题已弄明白到份上还是赶紧洗洗睡了。

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

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

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

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

© 2021 V2EX