0

我试图在没有 Visual Studio 2008 的计算机上安装 psutil(我自己的脚本所依赖的),所以我收到“无法找到 vcvarsall.bat”错误。我也没有mingw32。我尝试安装 Python 2.7 的预编译版本,但它搜索注册表,找到安装在 C:\Python2.7\ 中的 Python 并尝试将其安装在那里,但不允许我更改安装路径。

我使用 virtualenv 在目录 c:\MyVitualEnv 中从我的 Python 2.7 创建一个虚拟环境,这就是我要安装 psutil 的地方。有没有办法做到这一点?

4

2 回答 2

1

我不得不用 psycopg2 和 gdal 解决这个问题。使用 virtualenv 中的 easy_install 并将可执行文件作为参数。为了举例,我假设文件 psutil-0.7.0.win32-py2.7.exe 在 C:\ 中。在命令提示符下,

C:\> C:\MyVitualEnv\Scripts\activate.bat
(MyVitualEnv) C:\> easy_install psutil-0.7.0.win32-py2.7.exe

activate.bat只需设置使用 virtualenv 的环境,因此调用easy_install将找到C:\MyVitualEnv\Scripts\easy_install并设置许多其他适当的环境变量。

您甚至可以稍后使用 pip 将其卸载:

(MyVitualEnv) C:\> pip uninstall psutil

注意:您不能使用 pip 进行安装。只有 easy_install 有效。

似乎可以同时使用 setuptools 和distribute,尽管在使用distribute之后我实际上并没有尝试使用库。

我认为这是可行的,因为可执行文件实际上只是一个包含一些众所周知的文件结构的 zip 文件。(也许可执行文件的内部结构与 egg 文件相同。)必须有某种标准方法来构建这些二进制文件,并且该方法会生成这些“easy_install 兼容”可执行文件。不过,我不能告诉你这个过程的细节是什么。如果有人可以启发我,我很乐意将其添加到此答案中。

享受!

于 2013-05-16T23:38:09.057 回答
0

听起来您有两台计算机 (A) 和 (B),其中 (A) 您曾经开发脚本,现在您希望它在 (B) 上。如果您仍然可以访问 (A),则可以使用ps2exe将其捆绑到 (A) 上的可执行文件中,以便在 (B) 上使用。不过,您必须包含 MSVisual C 运行时。

于 2013-05-16T20:13:08.663 回答