简体   繁体   中英

How to install python-ldap on a python 2.7 virtualenv on windows without compiling

I am using Windows as my main python 2.7 development environment and I want to install python-ldap on a virtual environment.

The python-ldap package needs compiling :( and of course I can't compile it in my environment. So I tried finding binaries in order to install them in my virtual environment through easy_install (FYI you can do easy_install package.exe and the package will be installed). I found the distributed binaries here: https://pypi.python.org/pypi/python-ldap/

Unfortunately, they give only .msi packages for python 2.7 !!! Why do people use .msi ? MSI CANNOT BE INSTALLED THROUGH easy_install. I HATE MSI %$#$^#$^#$

Yes I can install the .msi package by executing it but it will be installed in the global python packages and not on my virtual environment!

Please, can anybody help me ? I remember having this exact problem in a previous project and I had to develop it outside of a virtual environment -- but I cannot do this now :(

I installed python-ldap system-wide and copied the directories ldap and python_ldap-2.4.10-py2.7.egg-info from PYTHON_GLOBAL\\Lib\\site-packages to VIRTUALENV\\Lib\\site-packages and seems to be working now. 我在系统范围内安装了python-ldap并将目录ldap和python_ldap-2.4.10-py2.7.egg-info从PYTHON_GLOBAL \\ Lib \\ site-packages复制到VIRTUALENV \\ Lib \\ site-packages并且似乎正在运行现在。 However I really don't like that solution so I won't answer my question with that. Also, Alexander's comment on recreating my virtualenv with --system-site-packages probably will be working but this means that I'd need to uninstall a lot of my global packages packages and then install again my virtual packages etc and in general it's not DRY :(

After trying cgohlke's suggestion, I saw that the contents of the MSI were the two directories I mentioned above along with the files dsml.py, ldapurl.py and ldif.py. 在尝试cgohlke的建议之后,我看到MSI的内容是我上面提到的两个目录以及文件dsml.py,ldapurl.py和ldif.py. So I also copied this to my VIRTUALENV\\Lib\\site-packages. Now I believe that the installation is ok :). But I believe that cgohlke's is the best one - just use msiexec.exe to extract the contents of the msi directly to your VIRTUALENV.

In a similar question ( Installing python-ldap in a virtualenv on Windows ) I found a really interesting link: http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap . 在一个类似的问题( 在Windows上的virtualenv中安装python-ldap )我发现了一个非常有趣的链接: http//www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldapIn there you will be able to find .EXE install packages for python-ldap and LOTS of others!!! So finally by downloading these you'll be able to easy_install them in your virtualenv!

How about installing it system-wide, creating an egg from installed files and then using that egg in your virtual env? You can find some info about egg structure here: http://pythonhosted.org/setuptools/formats.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM