【问题标题】:How to create a completely autonomous Python environment?如何创建一个完全自治的 Python 环境?
【发布时间】:2011-01-30 13:07:59
【问题描述】:

我想在一个可以在 Windows 和 GNU/Linux 上运行的 USB 笔式驱动器上创建一个完全自主的 Python 环境......

我该怎么做?

我尝试使用 `./' 作为前缀来构建 Python,但它不起作用...有人有其他想法吗?

提前谢谢...

【问题讨论】:

  • 对于 Windows,请尝试 portablepython.com。我不知道 Linux 有什么等价物,但 Linux 系统通常已经安装了 Python。
  • 在 Windows 和 Linux 上运行几乎是不可能的,除非你进行了两次构建(如果你使用 WINE,也许)。
  • PortablePython 看起来像是官方 CPython for windows 的发行版,但它似乎不依赖任何绝对目录...我去看看源代码...

标签: python usb-drive


【解决方案1】:

好的,我查看了 http://svn.python.org/projects/python/branches/release31-maint/,发现了一个有趣的 «readme» 谈论一个 «pyconfig.h» 文件。

http://svn.python.org/projects/python/branches/release31-maint/PC/pyconfig.h 82-83 行,有我的问题的解决方案:

#ifndef PYTHONPATH
#   define PYTHONPATH L".\\DLLs;.\\lib;.\\lib\\plat-win"

我想如果我改变 «PYTHONPATH» 定义的值,我会得到一个 python 解释器在相对目录中寻找他的文件,所以我只需要为 GNU/Linux 和 Window 构建它,并且将这两个可执行文件放在笔式驱动器上,然后我将获得一个可移植的 Python 环境!

我正在尝试这个,我会及时通知你...


编辑:终于,它起作用了! 我已经像这样构建了 Python:

make PYTHONPATH=../lib:../Lib:./lib:./Lib

...现在 Python 在 `../lib' 中寻找模块!

我将为 GNU/Linux 和 Windows 构建它,并将它放在 USB 笔式驱动器上,如下所示:

/mnt/key/
├── AUTORUN.INF 
├── Lib
│   ├── os.py
│   ├── sys.py
│   ├── ...
│   └── (Here i'll put the Python Standard Library)
├── Linux
│   └── python
└── Windows
    ├── python.exe
    └── pythonw.exe

谢谢大家

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2023-02-22
    相关资源
    最近更新 更多