在Linux中#!/usr/bin/python之后把后面的代码当成程序来执行。 但是在windows中用IDLE编程的话#后面的都是注释,之后的代码都被当成文本了。 该怎么样才能解决这个问题呢?
本文转自:http://bbs.csdn.net/topics/392027744?locationNum=6&fps=1
这种问题是大神不屑于解答,小白又完全不懂的问题。。。
同遇到这个问题,网上怎么都搜不到解决方案,自己研究了半天终于能用了
把我的解决方法发上来希望对以后学习python programming这本书的人有帮助吧
(很大一部分是自己的理解,有错误的地方希望有热心的大神批评指正。。)
Note:本人用的是win10系统,Linux下没有尝试过
想实现显示网页而不是代码,首先要在你的电脑上打开网络服务,就是至少能通过浏览器访问你的电脑硬盘文件(让你的电脑成为一个Web Server!!)
这个应该是python CGI编程的基础, 很多python CGI编程的基础帖子也不跟你讲理由,直接要你配置Apache!!
那些说配置httpd.conf文件的也是要先安装Apache!!httpd.conf在Apache的解压包的conf文件夹下!!
一开始还以为是c盘的配置文件呢!!我足足找了半个小时!!个小时!!小时!!时!!。。
妈蛋对我这菜鸟一点也不友好。。
所以首先确认电脑已经安装Apache!!
1. 安装Apache(百度一下有很多安装教程)(不要去下载源码,下载编译好的压缩包!!)
百度一下python CGI的问题
Note:1.它有各种版本,需要不同版本的VC库的支持,所以要确认电脑已经安装相应的Virtual Studio等软件。。
我下载的是最新版的Apache,为了支持下载安装了一天的VS2017
Note:2. 这个东西安装还比较烦,如果配置不对哪怕安装时报错也会在服务中出现叫apache的服务,但不能用!所以要在注册表中删除这个服务再重启安装!!具体可以百度,我安装时重启了不下4 5次。。。要注意的几点:
×httpd.conf里面的很多配置可以在安装之后在改,但有几个参数一定要提前设置好!![/i]
关键词:ServerRoot "c:/Apache24"
这是Apache的安装目录,按照自己的实际情况(解压到哪就写什么)填写
注意地址的斜杠方向!!不要直接粘贴!!不要直接粘贴!!不要直接粘贴!!重要的事情说三遍!!
Window下默认的路径用的是\,这里是用的linux下的/!!
关键词:DocumentRoot "c:/Apache24/htdocs"
这个是网站的根目录,可以自己修改,这里我改成“H:/Web”。
关键词:
这个也是网站根目录,但是必须和上面的DocumentRoot改成一样,否则无法打开网站。
注意:你填的这个目录必须已创建(必须是存在的),否则也会报错。
关键词:Listene 80
Apache默认开启的服务是通过80端口,如果这个端口被占用需要更改这行,如果没有则不用
(可在cmd下用命令netstat -a查看)
其他的参数可以安装时候再改,这几个是特别要注意的
×还有安装需要使用windows的cmd,这个一定要用管理员权限打开!!不然不让你安装!!
×貌似还有直接安装的安装包,不过我没有发现,可以自行尝试
2.打开apache安装目录下的\bin\ApacheMonitor.exe
双击会在右下角产生一下图标,把窗口打开然后点击开始服务,如果显示开启服务成功表示成功安装
打开浏览器输入http://localhost 看看是不是会出现It works的字样?
附上一篇安装教程:http://jingyan.baidu.com/article/d8072ac47baf0eec95cefdca.html
感谢这位大神的指导
3.配置apache就是网上一直说的配置httpd.conf
放个大神的配置连接:
这里面的配置说的很详细(好人一生平安)
jingyan.baidu.com/article/e4d08ffd8fa40d0fd2f60dfd.html
这个步骤问题不大,配置好后重启服务即可
有几个需要注意的点:
关键词:ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
这个是Apache服务器的关键文件目录,要修改为自己存放脚本的文件夹。
这个后面的目录就是存放脚本的目录,所有脚本必须放在这个文件夹下,当然可以创建子目录
书中的例子cgi101.py就是要放在这个文件夹下
关键词:AddHandler
在这个后面添加支持的脚本后缀
AddHandler cgi-script .cgi .pl .py
这里一定要添加上.py!!
4.重启apache服务
在浏览器的地址连输入http://localhost/cgi-bin/cgi101.py
(cgi101.py是你的脚本的名字!!可以不叫这个名字!!还有如果你把脚本放在了子目录里需要将子目录的名字写在上面!!)
(例如:如果我的脚本放在了脚本根目录下的test文件夹下那就应该输入http://localhost/cgi-bin/test/cgi101.py)
这时应该会出现Who are you的那个界面,因为你没有添加参数
如果你输入http://localhost/cgi-bin/cgi101.py?user=Bob就应该会出现Hello Bob的界面!!
现在说明,脚本已经可以被以网页的形式访问了!!
可喜可贺!!只剩最后一步
5.将脚本和写好的html文件关联
将上一步的网址直接替换html文件中action后面的部分既
action=“http://localhost/cgi-bin/cgi101.py”
现在正在打开html文件输入名字提交!!
大功告成!!收工!!
以上内容仅供参考,如遇到问题请自行解决
发几个给我很大帮助的网页
http://www.runoob.com/python/python-cgi.html
www.runoob.com/python/python-cgi.html
在Linux中#!/usr/bin/python之后把后面的代码当成程序来执行。 但是在windows中用IDLE编程的话#后面的都是注释,之后的代码都被当成文本了。 该怎么样才能解决这个问题呢?的更多相关文章
- python中#!/usr/bin/python与#!/usr/bin/env python的区别
目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python 或 >#!/usr/b ...
- Linux下/usr/bin/python被删除的后果
可能部分的人使用linux都有直接root登陆的习惯,这有很大的便利性,因为很多的命令不需要使用sudo请求root权限.但是使用root权限,所有的命令都会立即被执行,即使这个命令是对系统有害处的. ...
- window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory
今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpre ...
- 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。
执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...
- python中#!/usr/bin/env python与#!/usr/bin/python
通常在脚本语言的第一行会看到#!/usr/bin/env python 与 #!/usr/bin/python其中之一,这两句话的目的都是指出你的python文件用什么可执行程序去运行它. #!/us ...
- /usr/bin/python^M: 解释器错误: 没有那个文件或目录
遇见问题 因为linux在虚拟机中,所以就在本地敲python代码,敲完后再拿到虚拟机去执行,再输入./filename.py时,就遇到这样的一个问题: bash: ./filename.py: /u ...
- python /usr/bin/python^M: bad interpreter: No such file
今天在WingIDE下写了个脚本,传到服务器执行后提示: -bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No suc ...
- -bash: ./bak_1.py: /usr/bin/python^M: bad interpreter: 没有那个文件或目录
在Windows的PyCharm中编写了一个Python文件,然后上传至CentOS中,已经添加执行权限,但是仍然会报如下的错误: 代码如下: #!/usr/bin/python # -*- codi ...
- 利用virtualenvwrapper创建虚拟环境出现错误“/usr/bin/python: No module named virtualenvwrapper”
Linux:CentOS7 python: 系统默认python版本2.7,利用python启动 自己安装python版本3.8,利用python3启动 问题描述: 在上述环境中利用virtualen ...
随机推荐
- 对自己有用的VS调试技巧
设置下一条语句 编辑然后继续 符号越界后查看堆对象 查看数组的值 底部 设置下一条语句 返回顶部 一个典型的调试情况就是通过单步跟踪分析为什么一个函数调用失败了.当你发现一个函数调用的另一个函数返回错 ...
- JavaScript 之 "for"的衍生对象
JavaScript for/in 语句 作用:for/in 语句用于遍历循环对象属性. 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作. 例子: 循环对象属性: var pers ...
- python基础2--进制、字符编码和文件处理
一.进制 1.二进制 定义 二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一" 转换方式 二进制转换为十进制: 把二进制数按权展开.相加即得十进制数. ...
- POJ 3321 Apple Tree 树状数组 第一题
第一次做树状数组,这个东西还是蛮神奇的,通过一个简单的C数组就可以表示出整个序列的值,并且可以用logN的复杂度进行改值与求和. 这道题目我根本不知道怎么和树状数组扯上的关系,刚开始我想直接按图来遍历 ...
- JOIN US | 京东云诚聘技术精英
清新的办公区域感受自然的气息,温馨的团队为你我放飞青春的理想 上有天文下有地理的阅读区域 各类图书提供借阅 绿植环绕生机勃勃的会客区域洋溢青春 [高级Java工程师] 职位描述: 参与云计算相关平台/ ...
- redis(一)----配置及安装
1. redis下载 根据自己操作系统平台下载适合的文件包: https://github.com/MSOpenTech/redis 2. redis安装 (1)解压, ...
- Linux--Shell传递参数
参考:http://www.runoob.com/linux/linux-shell-passing-arguments.html
- Java中常用的API(四)——其他
前面说三篇文章分别介绍了Object.String.字符缓冲类的API,接下来我们简要介绍一下其他常用的API. 1.System System类用于获取各种系统信息,最为常用的是: System.o ...
- 2. laravel 5.5 学习 过程中 遇到问题 的 链接
关于 laravel 5.5 的文档 网络上已经太多 就不些太多重复的话了 在以后的 工作 中遇到问题的 查询到的解决方案 或者 相关文档将会具体写在这里 laravel 5.5 中文文档 https ...
- 解决ubuntu16.04 ‘E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) ’ 问题
问题: 当运行sudo apt-get install/update/其他命令时,会出现如下提示: E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资 ...