找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 7161|回复: 8

[求助] 第一行加上了“#!/usr/bin/env python3”,怎么还是不能运行.py...

1

主题

5

帖子

5

积分

贫民

积分
5
laobusi 发表于 2017-2-22 09:52:48 | 显示全部楼层 |阅读模式
看到大家问的问题,我有点不好意思问这么简单的问题,不过没办法,我在网上搜了半天也找不到答案。刚刚开始学linux和python,学了两三天,教程里写代码第一行加上“#!/usr/bin/env python3”(为了避免有人误以为我白痴,先说明一句,不包含引号),在linux下就像运行可执行文件一样运行.py文件了。当然,之前先要用chmod命令给该文件加上可执行权限。但是我照做了之后,直接运行.py文件,还是无法运行提示错误的命令。哪位大侠,恩,其实也不需要大侠,哪位小侠拨冗指点一下。
多说两句,我是一个编程小白,40+了突然来了兴趣学习编程,之前几乎没接触过编程,之所以说几乎,是因为上大学时学过汇编和C语言,但是因为我不是计算机专业的,所以这两门课都分别只有一学期的课,再加上我们那个大学很垃圾,学得也不咋样。咋个垃圾法,反正我记得汇编我还马马虎虎跟着上课来着,C语言我就上了半学期,搞懂了基本概念之后我就开始旷课了,再也没去过,最后临考试前突击复习了两天,最后居然考了个全班第二。不过,大学毕业以后就再也没接触过编程了,这毕业都快二十年了。前两年一时冲动买了个树莓派,因为啥也不懂,只能随便刷了个系统当网络高清播放器玩,前段时间觉得实在是浪费,开始琢磨起linux了,然后发现还需要知道点python才能玩得更好,又开始学习python。可惜学了没两天,遇到的第一个问题我就一点办法没有,身边也没个学编程的朋友请教下,我要是问炒股的事儿倒是大把的人才。恩恩,不罗嗦了。

回复

使用道具 举报

0

主题

24

帖子

24

积分

贫民

积分
24
leftloveu 发表于 2017-2-22 10:27:51 | 显示全部楼层
这个应该是python的环境变量位置的问题吧。
建议先确认python的安装路径,再去环境变量里看是否配置好。如果没有配置好或者配置错了,自然就没法运行了。
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-2-22 10:34:25 | 显示全部楼层
哈哈,欢迎欢迎。你这个程序是要放在树莓派上运行吗?
#!/usr/bin/env python3
这行代码在linux系统中有作用,在windows系统下没作用。
在linux系统下要让这行代码起作用,还需要首先保证在命令行模式下可以直接运行python3命令,如果不行,大概你需要将代码中的python3改成python才行
python3.4.4, win10
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
laobusi  楼主| 发表于 2017-2-22 14:05:04 | 显示全部楼层
whydo1 发表于 2017-2-22 10:34
哈哈,欢迎欢迎。你这个程序是要放在树莓派上运行吗?
#!/usr/bin/env python3
这行代码在linux系统中有作 ...

谢谢,就是在树莓派的linux下运行的,我试过了,改成python也不行。命令行下能够直接运行python,不过用python -v查看版本号,刷刷闪过好几屏,貌似是python2.7.
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
laobusi  楼主| 发表于 2017-2-22 14:06:35 | 显示全部楼层
leftloveu 发表于 2017-2-22 10:27
这个应该是python的环境变量位置的问题吧。
建议先确认python的安装路径,再去环境变量里看是否配置好。如 ...

那肯定是环境变量问题,我虽然是编程小白,但是电脑还是懂一点点,就是不知道怎么配置。
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-2-22 15:07:34 | 显示全部楼层
那就应该是这句没错。命令行输入的时候在程序名的前面加上个‘./’号试一下,比如程序名称是test.py,输入./test.py试试
#!/usr/bin/env python
python3.4.4, win10
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
laobusi  楼主| 发表于 2017-2-23 10:50:09 | 显示全部楼层
whydo1 发表于 2017-2-22 15:07
那就应该是这句没错。命令行输入的时候在程序名的前面加上个‘./’号试一下,比如程序名称是test.py,输入. ...

还真是,多谢多谢!困扰了我好几天。
不过这是为啥呢?还是路径配置的问题?即使是当前目录的文件,也必须指明路径?
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-2-23 11:05:24 | 显示全部楼层
为什么要在linux命令前加上 ./ ?

简述

执行unix或linux中除了path系统变量外的目录下的命令都要加./。

修改用户的 .bash_profile,在 PATH一行最后加上 “:.” (一个冒号,一个点) ,然后退出重新登陆用户就ok了! PATH中没有定义路径,加上就ok了。

./表示当前目录,这是因为linux的默认搜索目录里没有当前目录,所以如果你在当前目录需要执行程序就要加上路径./,用全路径代替也是可以的。

win/dos的默认搜索路径里有当前目录,所以不需要加。其实加上也是一样的效果。
python3.4.4, win10
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
laobusi  楼主| 发表于 2017-2-23 11:14:21 | 显示全部楼层
whydo1 发表于 2017-2-23 11:05
为什么要在linux命令前加上 ./ ?

简述

又学习一条,多谢多谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表