在python路径以外的任何地方安装预编译的python包

时间:2013-05-16 20:01:04

标签: python virtualenv precompiled

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

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

2 个答案:

答案 0 :(得分: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,虽然我没有在使用分发后尝试使用库。

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

享受!

答案 1 :(得分:0)

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