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:\users\thz-064\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.py", line 1874, in do_install
[pipenv.exceptions.InstallError]: keep_outdated=keep_outdated
[pipenv.exceptions.InstallError]: File "c:\users\thz-064\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.py", line 1253, in do_init
[pipenv.exceptions.InstallError]: pypi_mirror=pypi_mirror,
[pipenv.exceptions.InstallError]: File "c:\users\thz-064\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.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:\users\thz-064\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.py", line 763, in batch_install
[pipenv.exceptions.InstallError]: _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
[pipenv.exceptions.InstallError]: File "c:\users\thz-064\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.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:\documents\sasl-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库中获取的样式, 不然就太不优雅且容易出错了.
网友评论