Pipfile文件截取如下

[packages]
sasl = {version="==0.2.1", index="douban"}

直接执行pipenv install会报错

Installing dependencies from Pipfile.lock (3f5146)…
An error occurred while installing sasl==0.2.1 --hash=sha256:04f22e17bbebe0cd42471757a48c2c07126773c38741b1dad8d9fe724c16289d! Will try again.
  ================================ 20/20 - 00:00:03
Installing initially failed dependencies…
[pipenv.exceptions.InstallError]:   File "c:usersthz-064appdatalocalprogramspythonpython37libsite-packagespipenvcore.py", line 1874, in do_install
[pipenv.exceptions.InstallError]:       keep_outdated=keep_outdated
[pipenv.exceptions.InstallError]:   File "c:usersthz-064appdatalocalprogramspythonpython37libsite-packagespipenvcore.py", line 1253, in do_init
[pipenv.exceptions.InstallError]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.InstallError]:   File "c:usersthz-064appdatalocalprogramspythonpython37libsite-packagespipenvcore.py", line 859, in do_install_dependencies
[pipenv.exceptions.InstallError]:       retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs
[pipenv.exceptions.InstallError]:   File "c:usersthz-064appdatalocalprogramspythonpython37libsite-packagespipenvcore.py", line 763, in batch_install
[pipenv.exceptions.InstallError]:       _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
[pipenv.exceptions.InstallError]:   File "c:usersthz-064appdatalocalprogramspythonpython37libsite-packagespipenvcore.py", line 681, in _cleanup_procs
[pipenv.exceptions.InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
[pipenv.exceptions.InstallError]: ['Looking in indexes: https://pypi.doubanio.com/simple, https://pypi.tuna.tsinghua.edu.cn/simple', 'Collecting sasl==0.2.1 (from -r C:\Users\THZ-064\AppData\Local\Temp\pipenv-2peh1zbe-requirements\pipenv-247w0fwe-requirement.txt (line 1))', '  Downloading https://pypi.doubanio.com/packages/8e/2c/45dae93d666aea8492678499e0999269b4e55f1829b1e4de5b8204706ad9/sasl-0.2.1.tar.gz', 'Building wheels for collected packages: sasl', '  Building wheel for sasl (setup.py): started', "  Building wheel for sasl (setup.py): finished with status 'error'", '  Running setup.py clean for sasl', 'Failed to build sasl', 'Installing collected packages: sasl', '  Running setup.py install for sasl: started', "    Running setup.py install for sasl: finished with status 'error'"]
[pipenv.exceptions.InstallError]: ['ERROR: Complete output from command 'c:\users\thz-064\.virtualenvs\backend-795nfzgc\scripts\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\THZ-064\\AppData\\Local\\Temp\\pip-install-l3oe4sxc\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\THZ-064\AppData\Local\Temp\pip-wheel-2456812m' --python-tag cp37:', '  ERROR: running bdist_wheel', '  running build', '  running build_py', '  creating build', '  creating build\lib.win-amd64-3.7', '  creating build\lib.win-amd64-3.7\sasl', '  copying sasl\__init__.py -> build\lib.win-amd64-3.7\sasl', '  running egg_info', '  writing sasl.egg-info\PKG-INFO', '  writing dependency_links to sasl.egg-info\dependency_links.txt', '  writing requirements to sasl.egg-info\requires.txt', '  writing top-level names to sasl.egg-info\top_level.txt', "  reading manifest file 'sasl.egg-info\SOURCES.txt'", "  reading manifest template 'MANIFEST.in'", "  writing manifest file 'sasl.egg-info\SOURCES.txt'", '  copying sasl\saslwrapper.cpp -> build\lib.win-amd64-3.7\sasl', '  copying sasl\saslwrapper.h -> build\lib.win-amd64-3.7\sasl', '  copying sasl\saslwrapper.pyx -> build\lib.win-amd64-3.7\sasl', '  warning: build_py: byte-compiling is disabled, skipping.', '  ', '  running build_ext', "  building 'sasl.saslwrapper' extension", '  error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/', '  ----------------------------------------', '  ERROR: Failed building wheel for sasl', '    ERROR: Complete output from command 'c:\users\thz-064\.virtualenvs\backend-795nfzgc\scripts\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\THZ-064\\AppData\\Local\\Temp\\pip-install-l3oe4sxc\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\THZ-064\AppData\Local\Temp\pip-record-lzlbke9c\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\thz-064\.virtualenvs\backend-795nfzgc\include\site\python3.7\sasl':', '    ERROR: running install', '    running build', '    running build_py', '    creating build', '    creating build\lib.win-amd64-3.7', '    creating build\lib.win-amd64-3.7\sasl', '    copying sasl\__init__.py -> build\lib.win-amd64-3.7\sasl', '    running egg_info', '    writing sasl.egg-info\PKG-INFO', '    writing dependency_links to sasl.egg-info\dependency_links.txt', '    writing requirements to sasl.egg-info\requires.txt', '    writing top-level names to sasl.egg-info\top_level.txt', "    reading manifest file 'sasl.egg-info\SOURCES.txt'", "    reading manifest template 'MANIFEST.in'", "    writing manifest file 'sasl.egg-info\SOURCES.txt'", '    copying sasl\saslwrapper.cpp -> build\lib.win-amd64-3.7\sasl', '    copying sasl\saslwrapper.h -> build\lib.win-amd64-3.7\sasl', '    copying sasl\saslwrapper.pyx -> build\lib.win-amd64-3.7\sasl', '    warning: build_py: byte-compiling is disabled, skipping.', '    ', '    running build_ext', "    building 'sasl.saslwrapper' extension", '    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/', '    ----------------------------------------', 'ERROR: Command "'c:\users\thz-064\.virtualenvs\backend-795nfzgc\scripts\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\THZ-064\\AppData\\Local\\Temp\\pip-install-l3oe4sxc\\sasl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\THZ-064\AppData\Local\Temp\pip-record-lzlbke9c\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\thz-064\.virtualenvs\backend-795nfzgc\include\site\python3.7\sasl'" failed with error code 1 in C:\Users\THZ-064\AppData\Local\Temp\pip-install-l3oe4sxc\sasl\']

解决

遂到网上找到答案: Stack Overflow (这里这个只适合python2.7的哦)
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 找到适合自己的版本 cp27 代表python2.7, cp37代表python3.7 以此类推. 我的是python3.7所以找到下面这个版本下载下来到电脑里. 再用pip安装.
pip install D:documentssasl-0.2.1-cp37-cp37m-win_amd64.whl
如果你用的是pipenv, 那么要将pip换成pipenv. 但是同时, pipenv会自动更改你的Pipfile形如下面:

sasl = {path = "D:/documents/sasl-0.2.1-cp37-cp37m-win_amd64.whl"}

所以这里需要注意, 如果你需要和其他人合作或者是在不同平台、电脑上都运行这个项目的话, 需要将这个改成原来从pip库中获取的样式, 不然就太不优雅且容易出错了.

文章来源于互联网,如有雷同请联系站长删除:windows系统pip安装sasl报错

发表评论