通常,在 Unix 系统下,您有多个 Python 可执行文件,例如,在我的系统上:
which python
/usr/bin/python
which python2
/usr/bin/python2
可执行文件的名称给出了应用程序的版本。这是PEP 394 中定义的不同 Python 版本的标准。要提示您的脚本应该使用哪个版本,通常的做法是提供一个 hashbang。例如,在我的系统上,Python 3.x 是默认的 Python,所以如果我编写 2.x 脚本,我会添加:
#!/usr/bin/env python2
然后,当我的脚本运行 ( ./some_script.py
) 时,它将使用 Python 2.7.3。
你应该避免使用,#!/usr/bin/env python
因为它会在不同的系统上做不同的事情。如果他们遵循规范,#!/usr/bin/env python2
则应该指向 2.x 并且#!/usr/bin/env python3
应该指向 3.x - 在 Arch 下这可以正常工作(仅python
指向 3.x(不寻常)也是如此)。
更新您的编辑:
如果你想这样做,最简单的方法是在你的系统路径中创建一个可执行文件,它只运行命令python some_script ...
。
这是定期完成的,例如,eclipse
在我的系统实际运行时/usr/bin/eclipse
- 一个包含以下内容的 bash 脚本:
#!/bin/bash
export ECLIPSE_HOME=/usr/share/eclipse
export GDK_NATIVE_WINDOWS=true
${ECLIPSE_HOME}/eclipse "$@"
因此,对于您的问题,只需在路径中的某处(比如说/usr/bin/scrapy
)制作一个脚本,其中包含:
#!/bin/bash
python2 scrapy "$@"
我会注意到,在未来,您应该尽可能多地预先提供有关您的问题的信息,而不是在得到答案后更改它。