我期望:./env 中的 virtualenv
我得到:一个 GUI 错误对话框,显示“程序无法启动,因为您的计算机缺少 VCRUNTIME140.dll。”
显然 virtualenv 需要将 vcruntime140.dll 复制到 Python 3.5 的新 virtualenv 中才能在 Windows 上工作。
@zooba你对 virtualenv 应该如何在这里进行最好的建议有什么建议吗? 将 dll 复制到每个 3.5 virtualenv?
是的,这将是必要的。
在 Windows 上,我建议从sys.prefix
和join(sys.prefix, 'DLLs')
复制每个vcruntime*.dll
文件。 在某些时候,我们会将vcruntime140.dll
到 DLL 中以与旧的扩展模块向后兼容,但不知道什么时候会(我还不确定它必须是主要版本)。
您是否也通过https://pypi.python.org/pypi/virtualenv-rewrite收到此错误?
不,virtualenv-rewrite 适用于 Python 3.5。 (我不久前测试过 virtualenv-rewrite 14.1.0,它在我的 Jenkins 上仍然可以正常工作。)
我在 Windows 上遇到了同样的问题,复制 dll 还不够,因为它还没有真正完成脚本的设置。
我在同一个窗口上安装了 python 2.7 和 3.5(都为所有用户安装了),但执行以下所有命令都失败了。
> virtualenv --python="C:\Python35\python.exe" env
(with virtualenvwrapper) > mkvirtualenv --python="C:\Python35\python.exe" env
> C:\Python35\Scripts\virtualenv-3.4.exe --python="C:\Python35\python.exe" env
使用 virtualenv v13.1.2 在 Windows 10 下使用 Python 3.5.1 确认此错误 :(
顺便说一句,我不得不恢复到 3.4 才能让它工作。
我在带有 virtualenv 15.0.3 的 Windows 10 下使用 Python 3.5.2 确认了这一点
在使用 virtualenv 15.0.3 的 Windows 8.1 下使用 Python 3.5.2 确认这一点
使用 virtualenv 15.0.3 在 Windows 7 上确认 Python 3.5.2 的错误
好的家伙。 我有同样的问题。 我从https://sourceforge.net/projects/pywin32/安装了“pywin32”。
在那之后我没有得到错误。 pywin32 具有适用于 Windows 的 python 扩展。
为您的python版本安装它。
确保您获得正确的版本(匹配 Python 版本、32 位/64 位等)。
希望能帮助到你。
对于 Windows 7 Python 3.5.2,将http://www.opendll.com/index.php?file-download=vcruntime140.dll&arch=64Bit&version=14.0.22816.0&dsc=Microsoft%AE-C-Runtime-Library#复制到 C: \ 视窗
谢谢你,艾米蒂普尔! 顺便说一句,无需从不受信任的随机 Internet 站点下载 DLL 文件,只需将 c:/Python3.5/(或安装 Python 3.5 的任何地方)中的文件复制到 %PATH% 上的任何目录中。
类似地,它不会复制python3.dll
,这意味着某些扩展模块(如 PyQt5)将因ImportError: DLL load failed: The specified module could not be found.
失败
有一个简单的解决方法。 只需更新路径以包含特定的 Python 版本,例如:
set "PATH=C:\Program Files (x86)\Python36-32;%PATH%"
此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 如果您想让它保持打开状态,只需添加评论。 感谢你的贡献。
最有用的评论
类似地,它不会复制
python3.dll
,这意味着某些扩展模块(如 PyQt5)将因ImportError: DLL load failed: The specified module could not be found.
失败