Python 如何在virtualenv中安装Win32 COM模块?
我已经在我的Windows7 64位笔记本电脑上安装了Python 如何在virtualenv中安装Win32 COM模块?,python,virtualenv,pywin32,Python,Virtualenv,Pywin32,我已经在我的Windows7 64位笔记本电脑上安装了virtualenv和pywin32,它们似乎都可以工作,但不能相互配合 更具体地说,如果virtualenv处于活动状态,则在python交互式shell中运行导入win32com.client会失败,因为没有名为win32com.client的模块。但是,如果没有virtualenv处于活动状态,则相同的表达式会成功 当我尝试使用pip安装pywin32时(这是我在virtualenv处于活动状态时通常安装模块的方式),我会收到以下错误:
virtualenv
和pywin32
,它们似乎都可以工作,但不能相互配合
更具体地说,如果virtualenv处于活动状态,则在python交互式shell中运行导入win32com.client
会失败,因为没有名为win32com.client的模块。但是,如果没有virtualenv处于活动状态,则相同的表达式会成功
当我尝试使用pip
安装pywin32
时(这是我在virtualenv处于活动状态时通常安装模块的方式),我会收到以下错误:
Could not find any downloads that satisfy the requirement pywin32
No distributions at all found for pywin32
…即使pywin32
是的输出中列出的模块之一
pip search pywin32
因此,要安装pywin32
,我必须使用从SourceForge下载的*.exe安装程序进行安装
有没有办法在virtualenv中安装pywin32
启用您的virtualenv
pip安装--无索引--查找链接:/local/dir/SomePackage
查看#8 on(抱歉,没有永久链接)/2016年更新
现在,PyPI上有一个版本的pywin32,可以与pip一起安装。它被称为pypiwin32
,它使用二进制wheel
格式安装包
这将在虚拟病毒中工作,或与tox等一起工作
这行下面是我以前的答案。这是过时的信息
旧答案——过时了。virtualenv的现代版本默认为--无站点包。这意味着不能访问全局站点包现在是默认行为。
遗憾的是,(截至2014年7月),您无法将pywin32安装到您的VirtualNV中。()
如果要在virtualenv中运行pywin32,请激活virtualenv并使用easy_install和pywin32 installer exe文件。例如
轻松安装“C:\Path\To\Downloads\pywin32-219.win32-py3.4.exe”
创建一个virtualenv并激活它:
cd c:\Users\ernesto.luzon
virtualenv--无站点包py351env
py351env\Scripts\activate
在这里,您有两个选择:
从sourceforge项目下载pywin32:
从非官方(但非常有用)二进制站点下载pywin32:
请确保为安装在您的环境中的Python解释器下载了正确的版本,否则稍后会遇到问题
如果您是从sourceforge下载的,请使用easy_安装:
(py351env)C:\Users\ernesto.luzon\Downloads>easy_安装pywin32-220.win-amd64-py3.5.exe
如果从gohlke下载,请使用pip安装:
(py351env)C:\Users\ernesto.luzon\Downloads>pip安装pywin32-220-cp35-none-win\u amd64.whl
如果以后遇到错误,您需要执行以下附加步骤:
运行安装后脚本:
(py351env)C:\Users\ernesto.luzon>python py351env\Scripts\pywin32\u postinstall.py-install
已将pythoncom35.dll复制到C:\Users\ernesto.luzon\py351env\pythoncom35.dll
已将pywintypes35.dll复制到C:\Users\ernesto.luzon\py351env\pywintypes35.dll
....
请注意它复制了“pythoncom35.dll”和“pywintypes35.dll”文件的位置。您需要将这些文件移动到文件夹:
C:\Users\ernesto.luzon\py351env\Lib\site packages\win32
pip安装pypiwin32
可能会工作。可能与我获取的导入内容重复错误:DLL加载失败:找不到指定的模块。(Win2012R2上的Python 3.5.2 32位virtualenv)不工作<代码>未找到pywin32>=223(来自pypiwin32)的匹配发行版
对于Anaconda上的发行版:只需执行conda安装pywin32
pip install pypiwin32