2013-04-10 85 views
9

我使用Windows作为我的主python 2.7开发环境,我想在虚拟环境中安装python-ldap。如何在没有编译的窗口上在python 2.7 virtualenv上安装python-ldap

python-ldap包需要编译:(当然我不能编译它在我的环境中。所以我试图找到二进制文件,以便通过easy_install将它们安装在我的虚拟环境中(可以使用easy_install包。我发现分布式的二进制文件在这里:https://pypi.python.org/pypi/python-ldap/

不幸的是,他们只给python 2.7的.msi包!!!为什么人们使用.msi?MSI不能通过easy_install安装。 HATE MSI%$#$ ^#$ ^#$

是的,我可以通过执行它来安装.msi包,但它会安装在全局Python包中,并且不是我的虚拟环境中的

请问,有人可以帮助我吗?我记得在以前的项目中有这个确切的问题,我不得不在虚拟环境之外开发它 - 但我现在不能这样做:(

更新:我安装了python-ldap系统,目录 ldap和python_ldap-2.4.10-py2.7.egg-info从PYTHON_GLOBAL \ Lib \ site-packages到VIRTUALENV \ Lib \ site-packages,现在似乎正在工作。但是我真的不喜欢那个解决方案我不会回答我的问题,而且,亚历山大评论用--system-site-packages重新创建virtualenv可能会起作用,但这意味着我需要卸载很多全局软件包,然后安装再次我的虚拟包等等,一般来说它不是干的:(

更新2:尝试cgohlke的建议后,我看到MSI的内容是上面提到的两个目录以及dsml.py,ldapurl.py和ldif.py文件。所以我也将其复制到我的VIRTUALENV \ Lib \ site-packages。现在我相信安装没问题:)。但我相信cgohlke是最好的 - 只需使用msiexec.exe将msi的内容直接提取到VIRTUALENV即可。 (Installing python-ldap in a virtualenv on Windows)我发现了一个非常有趣的链接:http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap。在那里,你将能够找到.EXE安装软件包python-ldap和其他许多!所以最后通过下载这些你可以在你的virtualenv中获得easy_install

+1

一种方法是安装系统范围,并使用“--system-site-packages中”重新创建的virtualenv。 – alecxe 2013-04-10 06:35:58

+0

是的,这可能会起作用 - 但我不想重现我的virtualenv。 – Serafeim 2013-04-10 06:38:43

+2

尝试提取MSI:'MSIEXEC.EXE /蟒-LDAP的2.4.10.win32-py2.7.msi/QN TARGETDIR = “C:\绝对\路径”'。 – cgohlke 2013-04-10 06:50:36

回答