Python3创建virtualenv环境时提示vcruntime140.dll丢失

环境:

  • Windows 7 SP1
  • Python 3.7.0
  • virtualenv 16.6.2

 

使用 virtualenv venv  命令创建虚拟环境的时候弹框提示计算机中丢失 VCRUNTIME140.dll 。查了一下,需要安装Microsoft Visual C++ 2015 Redistributable

安装完后再次运行,结果相同。于是到 C:\Windows\System32  中找了找,发现目录里是有 VCRUNTIME140.dll 文件的。

重启了一下电脑,也是如此。

 

根据输出和弹框的信息,猜测创建虚拟环境时文件复制完后, virtualenv 运行复制后的 python.exe 部署环境时,没找到 VCRUNTIME140.dll 文件。

Python37-32 的目录下看到了 VCRUNTIME140.dll ,而创建了一半的虚拟环境的 Scripts 文件夹中没有这个文件,于是复制了过去。再次运行 virtualenv venv  就成功了。

看起来Python3.7.0的Windows版中使用 VCRUNTIME140.dll 是位置有关的。只在同一目录中找这个动态链接库。

 

所以其实不用安装Microsoft Visual C++ 2015 Redistributable。只要在 venv\Scripts 中放一个 VCRUNTIME140.dll ,再次运行就可以继续完成虚拟环境的创建了。