V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
crown
V2EX  ›  问与答

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

  •  
  •   crown · 2015-02-10 00:46:52 +08:00 · 3660 次点击
    这是一个创建于 3375 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近比较闲,想再上进一些顺便让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是世界上最好的语言!(:-)
    35 条回复    2015-02-10 14:34:16 +08:00
    ayang23
        1
    ayang23  
       2015-02-10 00:53:07 +08:00
    “$ chmod a+x ex.py” 这几个字母全输入了吗?你把提示符$都给输入了所以找不到$
    icedx
        2
    icedx  
       2015-02-10 00:53:42 +08:00   ❤️ 1
    python ex.py

    或者在Sublime 下按Ctrl+B
    ayang23
        3
    ayang23  
       2015-02-10 00:54:11 +08:00   ❤️ 1
    用"python ex.py", 每个文件chmod多麻烦
    Sylv
        4
    Sylv  
       2015-02-10 00:57:28 +08:00   ❤️ 1
    最前面的 $ 别输,那是提示符
    然后你要 cd 到 ex.py 所在的文件夹里,例如: cd ~/Documents,之后才能 ./ex.py,否则要输全路径:~/Documents/ex.py 来运行
    推荐还是用 python ex.py 的方式来运行
    sennes
        5
    sennes  
       2015-02-10 00:57:29 +08:00   ❤️ 1
    首先你要找到你的文件在哪。
    在终端先 ls 看看当前目录有没有 你的 ex.py 文件
    没有的话,先 cd 到 Documents
    chmod 是改权限的吧。
    你可以先试试 python ex.py 看看能不能run..
    crown
        6
    crown  
    OP
       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
        7
    konakona  
       2015-02-10 00:59:41 +08:00   ❤️ 1
    @crown 你在逗我们...

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

    你应该先去学习一下基础的linux命令先。
    比如最基础的 cd ls 这两个命令
    tanyuxiang
        9
    tanyuxiang  
       2015-02-10 01:04:25 +08:00   ❤️ 1
    花几个星期折腾linux先。。。。
    sennes
        10
    sennes  
       2015-02-10 01:11:13 +08:00   ❤️ 1
    您遇到的问题和你笨不笨没关系,可能是您还不熟悉终端怎么用?
    你想在终端折腾python,那我建议您先去稍微学习一下linux的命令
    加油!
    crown
        11
    crown  
    OP
       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
        12
    icedx  
       2015-02-10 01:15:11 +08:00
    好像环境变量的PATH 不包含. 吧
    Tink
        13
    Tink  
       2015-02-10 01:27:27 +08:00 via iPhone
    ex.py
    首行/usr/bin/python 试试
    Tink
        14
    Tink  
       2015-02-10 01:30:32 +08:00 via iPhone   ❤️ 1
    #!/usr/bin/python
    crown
        15
    crown  
    OP
       2015-02-10 01:37:33 +08:00
    @Tink 我原来的第一行是这个#!/usr/bin/env python,你这个不规范吧。。第一次看到这样的,我改了之后没有变化。
    我还想问下你知道首行加上#!/usr/bin/env python这个是什么意思吗,谢谢。
    tanyuxiang
        16
    tanyuxiang  
       2015-02-10 01:40:47 +08:00   ❤️ 1
    @crown 文件首行指定了解释器。
    crown
        17
    crown  
    OP
       2015-02-10 01:41:15 +08:00
    @Tink 不好意思,闹笑话了,已查清。
    Croath
        18
    Croath  
       2015-02-10 01:42:48 +08:00 via iPhone
    慢慢来啊。学习编程是个金字塔,你看到的一点东西,可能下面有巨大的根基来支撑它。如果一次通过没问题那是最好,出现了问题,就可能是巨大金字塔下面不一定哪块砖没摆好,就要去学习那块砖是怎么摆的。学校的学习方法是从地下开始一层一层学,你这样从上面开始抓,遇到一个问题就学习一块,最后也是能够达到一样的效果的。

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

    加油啊。
    crown
        19
    crown  
    OP
       2015-02-10 01:55:49 +08:00
    @Croath 嗯,我初中就因为各方面辍学了,父母都是公务员工作还算顺利,看在面子上没念完但学校给了初中毕业证书,10年至今走了无数弯路,但家里依靠人脉让我有一份混日子的工作。但这样的日子总是不尽人意的,以前因为思想问题没能接受函授,也因为思想问题没有早些开始自学,今年准备花钱挂个函授,有总比没有好。现在是静下心来认真地想提高技术水平:-)谢谢你的鼓励
    crown
        20
    crown  
    OP
       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也可以了,真是蛋疼啊!一晚上耗上面了,看在问题已弄明白到份上还是赶紧洗洗睡了。
    em70
        21
    em70  
       2015-02-10 02:21:32 +08:00 via Android
    浪子回头金不换
    twl007
        22
    twl007  
       2015-02-10 03:17:53 +08:00 via iPhone   ❤️ 1
    @crown j建议先去看bash再回头来看python 你这环境配置都摸不清 磨刀不误砍柴工
    Yvette
        23
    Yvette  
       2015-02-10 03:48:17 +08:00   ❤️ 1
    18楼说的对,如果楼主英文还过得去的话,建议先看看learnpythonthehardway附录里的CLI教程,不过网上也有中文版的,可以找找。
    Tink
        24
    Tink  
       2015-02-10 06:42:06 +08:00 via iPhone   ❤️ 1
    @crown 当你装了两个python版本的时候,环境变量里找python会出问题,尤其在arch下
    sneezry
        25
    sneezry  
       2015-02-10 07:18:41 +08:00 via iPhone   ❤️ 1
    @crown 自己制定一个学习计划,循序渐进。我当初研究域名解析还研究了好久,什么ns记录,什么dns,各种混乱,现在看来都是很简单的东西,但是简单的东西学习的过程不简单。v2ex上的网友们都很乐于助人,it行业也非常开放,老人愿意带新人,有问题再简单也有人愿意花上一些时间认真解答。另外建议楼主接触接触英文(如果已经有英文水平就忽略我说的),平时看看外国社区的内容能走很多捷径。最后楼主加油!
    twitterpig
        26
    twitterpig  
       2015-02-10 09:16:08 +08:00
    自学编程是蛮苦的~
    snow9312
        27
    snow9312  
       2015-02-10 09:17:04 +08:00   ❤️ 1
    装xcode没?sublime可以直接用clang的,快捷键cmd+b。
    learnshare
        28
    learnshare  
       2015-02-10 09:55:08 +08:00
    我就想问,是从谁开始在命令行前边加 $ 这种无耻的东西?
    amaranthf
        29
    amaranthf  
       2015-02-10 09:56:45 +08:00
    为什么大家都在教人用终端……学个编程而已,从最简单的入手嘛,安装python的时候肯定装了一个叫IDLE的东西吧,用那个写代码,直接F5就能看运行结果。
    Jaylee
        30
    Jaylee  
       2015-02-10 10:33:56 +08:00
    @amaranthf 你没用过mac吧? mac装完python有idle?
    amaranthf
        31
    amaranthf  
       2015-02-10 13:03:34 +08:00
    @Jaylee 你确定你用过mac上的python么……
    http://i2.tietuku.com/fb659f3156d7efc9.jpg
    Jaylee
        32
    Jaylee  
       2015-02-10 13:10:29 +08:00
    @amaranthf 哦呵呵呵,我装python都是brew,像你这么高端的玩法我还真没弄过
    amaranthf
        33
    amaranthf  
       2015-02-10 13:55:53 +08:00
    @Jaylee 这才是最正常的玩法好吧……你给全世界mac用户发起个投票,问他们“怎么安装软件”,99%肯定都会回答app store、pkg、dpkg之类的玩意儿的。如果说程序员就一定要用命令行的话反倒是本末倒置了。
    Jaylee
        34
    Jaylee  
       2015-02-10 13:58:30 +08:00
    @amaranthf 呵呵哒,你开心就好
    bengol
        35
    bengol  
       2015-02-10 14:34:16 +08:00
    @amaranthf brew路过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   967 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:22 · PVG 05:22 · LAX 14:22 · JFK 17:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.