Shebang 脚本不起作用
Shebang for scripts not working
我在我的 Django 生产环境中使用 PythonAnyhwere。我有一个脚本,应该 运行 按计划进行。
因为我在 virtualenv 中安装了 django,所以脚本开始时是这样的
#!/usr/bin/env python
activate_this = '/home/myname/.virtualenvs/myenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
我得到的错误是
/usr/bin/env python: no such Python interpreter
没问题。所以我改成了
#!/usr/bin/env python2.7
然后我得到了
/usr/bin/env python2.7: no such Python interpreter
或
/usr/bin/env python3.4: no such Python interpreter
我说好吧,如果我根本没有 shebang 线怎么办?
日志中的错误:
line 1: activate_this: command not found
line 2: syntax error near unexpected token `activate_this,'
line 2: `execfile(activate_this, dict(__file__=activate_this))'
那有什么办法呢?
您可以通过输入
知道您的 Python 口译员在哪里
$ which python
你也试试这样的方法(或者可能没有 env
):
$ env python
Python 3.5.0 (default, Sep 20 2015, 11:28:25)
[GCC 5.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path
<module 'posixpath' from '/usr/lib/python3.5/posixpath.py'>
然后将lib
改为bin
并省略/posixpath.py
部分
我在我的 Django 生产环境中使用 PythonAnyhwere。我有一个脚本,应该 运行 按计划进行。
因为我在 virtualenv 中安装了 django,所以脚本开始时是这样的
#!/usr/bin/env python
activate_this = '/home/myname/.virtualenvs/myenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
我得到的错误是
/usr/bin/env python: no such Python interpreter
没问题。所以我改成了
#!/usr/bin/env python2.7
然后我得到了
/usr/bin/env python2.7: no such Python interpreter
或
/usr/bin/env python3.4: no such Python interpreter
我说好吧,如果我根本没有 shebang 线怎么办? 日志中的错误:
line 1: activate_this: command not found
line 2: syntax error near unexpected token `activate_this,'
line 2: `execfile(activate_this, dict(__file__=activate_this))'
那有什么办法呢?
您可以通过输入
知道您的 Python 口译员在哪里$ which python
你也试试这样的方法(或者可能没有 env
):
$ env python
Python 3.5.0 (default, Sep 20 2015, 11:28:25)
[GCC 5.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path
<module 'posixpath' from '/usr/lib/python3.5/posixpath.py'>
然后将lib
改为bin
并省略/posixpath.py
部分