gpt4 book ai didi

python - 如何让python程序使用不同的安装方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:39 25 4
gpt4 key购买 nike

>> which python
/usr/bin/python
>> python --version
Python 2.4.x

我的问题很简单,如何在不同的 python 安装(例如/usr/bin/python26)上运行 python 程序?

我希望能够使用与默认安装不同的 python 安装来运行 Scrapy,但是这个问题是针对在类 Unix 系统上运行的任何用 Python 编写的程序。

编辑:澄清一下,我想运行一个已安装的程序,它是别人写的,通常是这样运行的:

scrapy crawl blaha

不是这样的:

python scrapy crawl blaha

最佳答案

通常,在 Unix 系统下,你有多个 Python 可执行文件,例如,在我的系统上:

which python
/usr/bin/python
which python2
/usr/bin/python2

可执行文件的名称给出了应用程序的版本。这是 the standard for different versions of Python, as defined in PEP 394 .要提示您的脚本应该使用哪个版本,通常要做的是提供一个 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 "$@"

我会指出,在未来,您应该尝试尽可能多地预先提供有关您的问题的信息,而不是在得到答案后更改它。

关于python - 如何让python程序使用不同的安装方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com