python - 执行Python脚本

标签 python bash command-line-interface virtualenv execution

阅读a Flask tutorial时,作者要求我先 chmod a+x run.py 然后 ./run.py,而不是简单地 python run.py 作为我通常这样做。当我忽略作者的指示并执行python run.py时,我得到了ImportError。(我怀疑这个错误与vitrualanv有关) .)

所以我的问题是:有什么区别

./run.py

python run.py

最佳答案

我相信你的怀疑是正确的。注意他如何创建一个名为 flask 的 virtualenv:

virtualenv flask

run.py 包含以下内容:

#!flask/bin/python
from app import app
app.run(debug=True)

第一行称为 shebang ,其中作者定义 python 二进制文件应该从 Flask/bin/python 执行。如果您执行 python run.py,则会使用系统的默认 python 二进制文件。您可以通过 activating the virtualenv 解决此问题,通过调用source bin/activate。或者通过显式调用flask/bin/python run.py

关于python - 执行Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38785879/

相关文章:

python - 为什么这个带有 shebang #!/bin/sh 和 4 个单引号内的 exec python 的片段有效?

shell - 首先使用来自文件的输入运行交互式 REPL,然后使用用户输入运行交互式 REPL

command-line-interface - XMLStarlet 不选择任何内容

python - 使就地操作返回对象是一个坏主意吗?

linux - Bash 终端重定向到另一个终端

python - 如何在 python 3.5 中安装 opencv 库?

bash - MD5进度输出-BASH

android - 错误 : package path is not valid. 有效的系统镜像路径为 :ository. .. null

python - 使用 pyodbc 在 mac 中将 Python 连接到 Teradata

python - 不显示存储在运行 flask 文件的模板文件夹中的 gif 图像