【发布时间】:2025-11-25 00:25:01
【问题描述】:
我在 Windows 机器上创建了一个 virtualenv 目录,我将其复制到未安装 python 的原始 Windows 机器上的相同绝对路径中。在第一次通过时,python.exe 在原始机器上失败,因为它找不到 python27.dll。然后我回到第一台机器并将 python27.dll 从 C:\Windows\System32 复制到 virtualenv \Scrips 文件夹中,并重复该过程。 python.exe 然后在原始机器上失败并出现以下错误:ImportError: no module named functools.
这个问题似乎与以下对 virtualenv 的修复有关:https://github.com/techtonik/virtualenv/commit/bd2fb414d016be7462d19bf9116117ac5aa9b019。我使用的是 virtualenv 1.7.1.2 和 python 2.7。有什么想法吗?
【问题讨论】:
-
为什么要复制一个virtualenv?它可以很容易地重建:
pip freeze --local > requirements.txt和另一台机器上的pip install -r requirements.txt(在这两种情况下,virtualenv 都应该是活动的并且已经使用--distribute创建) -
我的问题很简单,virtualenv 可以在没有安装 python 的情况下工作吗?我怎样才能绕过这个限制?这是对bugs.python.org/msg136205 的回复。
-
@TheifMaster 用例是修改虚拟机文件结构,使 python 从机器启动的那一刻起就可以执行,即在 pip 命令可以执行之前
-
如果你想在不安装 python 的情况下运行你的程序,试试 py2exe、cx_freeze、pyInstaller 等
标签: python windows virtualenv