9

我使用 Windows 作为我的主要 python 2.7 开发环境,我想在虚拟环境中安装 python-ldap。

python-ldap包需要编译:(当然我不能在我的环境中编译它。所以我尝试找到二进制文件以便通过easy_install将它们安装在我的虚拟环境中(仅供参考,你可以做easy_install package.exe和包将安装)。我在这里找到了分布式二进制文件:https ://pypi.python.org/pypi/python-ldap/

不幸的是,他们只为 python 2.7 提供 .msi 包!!!为什么人们使用 .msi ?无法通过 easy_install 安装 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。

更新 3:在一个类似的问题(在 Windows 上的 virtualenv 中安装 python-ldap)我发现了一个非常有趣的链接:http ://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap 。在那里,您将能够找到 python-ldap 和许多其他人的 .EXE 安装包!!!所以最后通过下载这些你就可以easy_install在你的 virtualenv 中使用它们了!

4

1 回答 1

1

如何在系统范围内安装它,从已安装的文件中创建一个 egg,然后在你的虚拟环境中使用这个 egg?你可以在这里找到一些关于鸡蛋结构的信息:http: //pythonhosted.org/setuptools/formats.html

于 2014-01-09T11:28:48.060 回答