是否有命令行标志可以设置PYTHONHOME?

3 投票
3 回答
8810 浏览
提问于 2025-04-16 09:14

我正在尝试在一个不允许我设置环境变量的系统上运行Python。请问有没有什么命令行参数可以用来设置PYTHONHOME?我在这里查过了:http://docs.python.org/release/2.3.5/inst/search-path.html,但没有找到相关信息。

所以,我希望能有类似这样的东西:

python -magical_path_flag /my/python/install test.py

编辑

谢谢大家的回复。很不好意思,我其实是想说PYTHONHOME,而不是PYTHONPATH。(我在凌晨1:30问问题真是自找麻烦。)我已经修改了我的问题。

这里有更多信息。我正在尝试在Android上运行Python。我可以毫无问题地运行python -V,但如果我尝试执行一个脚本,就会出现:

I/ControlActivity(18340): Could not find platform independent libraries <prefix>
I/ControlActivity(18340): Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

不幸的是,在Android上使用ProcessBuilder并更改环境变量时,它显示这些变量无法修改,并抛出了一个异常。我可以传递我想要的所有命令行参数,所以我希望能通过这种方式设置PYTHONHOME。

我尝试创建一个包装的shell脚本,先导出PYTHONHOME,然后再调用Python,但这也没有成功。(出现了和之前一样的错误。)

谢谢,

Gabe

3 个回答

0

如果其他的回答都不适合你,你可以写一个包装脚本,临时设置环境变量,然后执行你的其他脚本。比如说:

python mywrapper.py -magical_path_flag /my/python/install test.py
2

在类UNIX的命令行中,你可以通过在命令前面加上环境变量的设置,来让这个环境变量只在执行这条命令的时候有效。

$ PYTHONPATH=/my/python/install python test.py
5

你可以直接在你的脚本里设置它——sys.path 是一个普通的、可以修改的列表。你可以这样做:

import sys
sys.path.append("/path/to/libraries")

这样就可以了

撰写回答