【发布时间】:2012-04-07 06:03:24
【问题描述】:
一个区别是“./script.py”仅在 script.py 可执行(如文件权限)时才有效,但“python script.py”无论如何都有效。但是,我强烈怀疑还有更多差异,我想知道它们是什么。
我有一个 Django 网站,“python manage.py syncdb”工作得很好,但是“./manage.py syncdb”由于某种原因创建了一个损坏的数据库,这对我来说仍然是个谜。也许这与syncdb从命令行提示输入超级用户名和密码有关,并且可能使用“./manage.py syncdb”改变了它与命令行交互的方式,从而破坏了密码。可能是?我只是对这个错误感到困惑。 “python manage.py syncdb”完全修复了它,所以这只是好奇。
谢谢。
编辑:对对对,我忘了shebang行#!/usr/bin/python的必要性。但我刚刚检查过,“python manage.py syncdb”和“./manage.py syncdb”使用的是相同的 Python 解释器(Linux Mint 12 上唯一安装的 2.7.2)。然而前者有效,后者无效。
Python代码看到的环境变量会不会不一样?我的代码确实需要为每个 shell 设置特殊的 $LD_LOADER_PATH 和 $PYTHON_PATH。
【问题讨论】: