pip install django-heroku のpsycopg2で「Microsoft Visual C++ 14.0 is required」エラーになる場合
pip install django-heroku でハマったので、記録しておきます。
pip install django-heroku の実行時に、psycopg2で「Microsoft Visual C++ 14.0 is required」エラーが発生しました。
エラー内容
Using legacy 'setup.py install' for psycopg2, since package 'wheel' is not installed.
Installing collected packages: psycopg2
Running setup.py install for psycopg2 ... error
ERROR: Command errored out with exit status 1:
command: 'c:\django01\myvenv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\koji.LIFEBOOK\\AppData\\Local\\Temp\\pip-install-w3z7rdyd\\psycopg2\\setup.py'"'"'; __file__='"'"'C:\\Users\\koji.LIFEBOOK\\AppData\\Local\\Temp\\pip-install-w3z7rdyd\\psycopg2\\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\koji.LIFEBOOK\AppData\Local\Temp\pip-record-ddo9debf\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\django01\myvenv\include\site\python3.9\psycopg2'
cwd: C:\Users\koji.LIFEBOOK\AppData\Local\Temp\pip-install-w3z7rdyd\psycopg2\
Complete output (22 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\psycopg2
copying lib\compat.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\errorcodes.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\errors.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\extensions.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\extras.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\pool.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\sql.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\tz.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\_ipaddress.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\_json.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\_lru_cache.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\_range.py -> build\lib.win-amd64-3.9\psycopg2
copying lib\__init__.py -> build\lib.win-amd64-3.9\psycopg2
running build_ext
building 'psycopg2._psycopg' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\django01\myvenv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\koji.LIFEBOOK\\AppData\\Local\\Temp\\pip-install-w3z7rdyd\\psycopg2\\setup.py'"'"'; __file__='"'"'C:\\Users\\koji.LIFEBOOK\\AppData\\Local\\Temp\\pip-install-w3z7rdyd\\psycopg2\\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\koji.LIFEBOOK\AppData\Local\Temp\pip-record-ddo9debf\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\django01\myvenv\include\site\python3.9\psycopg2' Check the logs for full command output.
解決策
https://visualstudio.microsoft.com/ja/downloads/ より、Build Tools for Visual Studio をダウンロードし、インストールウィザードで、「C++Build Tools」にチェックしてインストールする。
対処後
(myvenv) PS C:\django01> pip install django-heroku
Requirement already satisfied: django-heroku in c:\django01\myvenv\lib\site-packages (0.3.1)
Requirement already satisfied: dj-database-url>=0.5.0 in c:\django01\myvenv\lib\site-packages (from django-heroku) (0.5.0)
Requirement already satisfied: django in c:\django01\myvenv\lib\site-packages (from django-heroku) (3.1.2)
Collecting psycopg2
Using cached psycopg2-2.8.6.tar.gz (383 kB)
Requirement already satisfied: whitenoise in c:\django01\myvenv\lib\site-packages (from django-heroku) (5.2.0)
Requirement already satisfied: asgiref~=3.2.10 in c:\django01\myvenv\lib\site-packages (from django->django-heroku) (3.2.10)
Requirement already satisfied: pytz in c:\django01\myvenv\lib\site-packages (from django->django-heroku) (2020.1)
Requirement already satisfied: sqlparse>=0.2.2 in c:\django01\myvenv\lib\site-packages (from django->django-heroku) (0.4.1)
Using legacy 'setup.py install' for psycopg2, since package 'wheel' is not installed.
Installing collected packages: psycopg2
Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.8.6