実現したいこと
PyCharmでmakemigrationを行った時に、エラー無く、migrationファイルが作成できるようにしたい。
下記のエラーの原因は「ファイル内にutf-8でない文字コードが紛れ込んでいる」という理解であっていますか?
もし、それで合っているとしたら、それをPyCharmを使ったりして調べる方法はありますか?(本サンプル・プログラムで作成したファイルをPyCharm上で見てみたのですが、文字化けしている箇所は無いようなのですが。)
発生している問題・分からないこと
『動かして学ぶ!Python Django開発入門(第2版)』を勉強しています。p246「django-allauth用のマイグレーションを行う」のところで下記エラーが出てしまいました。
p217「マイグレーションを行う」時点ではエラーは出ていませんでした。
どのファイルのどの行がエラーなのか分からず(manage.pyのline 19,23が原因とは思えない)、試行錯誤の方向性がわかりません。
エラーメッセージ
error
1C:\Users\user\venv_private_diary\Scripts\python.exe C:\Users\user\venv_private_diary\private_diary\manage.py makemigrations 2Traceback (most recent call last): 3 File "C:\Users\user\venv_private_diary\private_diary\manage.py", line 23, in <module> 4 main() 5 File "C:\Users\user\venv_private_diary\private_diary\manage.py", line 19, in main 6 execute_from_command_line(sys.argv) 7 File "C:\Users\user\venv_private_diary\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line 8 utility.execute() 9(中略) 10 File "C:\Users\user\venv_private_diary\Lib\site-packages\psycopg2\__init__.py", line 122, in connect 11 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 12 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 13UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 69: invalid start byte 14 15プロセスは終了コード 1 で終了しました 16 17(中略)の部分はFile "C:\Users\user\venv_private_diary\Lib\site-packages\django\… 18というdjangoのファイルが並んでいます
該当のソースコード
python
1#!/usr/bin/env python 2"""Django's command-line utility for administrative tasks.""" 3# -*- coding: utf-8 -*- 4import os 5import sys 6 7 8def main(): 9 """Run administrative tasks.""" 10 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'private_diary.settings') 11 try: 12 from django.core.management import execute_from_command_line 13 except ImportError as exc: 14 raise ImportError( 15 "Couldn't import Django. Are you sure it's installed and " 16 "available on your PYTHONPATH environment variable? Did you " 17 "forget to activate a virtual environment?" 18 ) from exc 19 execute_from_command_line(sys.argv) ←line19 20 21 22if __name__ == '__main__': 23 main() ←line23 24
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
上記の様に、manage.py内に
-- coding: utf-8 --
の一行を追加した。→同じエラー
本に書かれている内容で重要そうな箇所を、コード内にコメントとして書いていた部分を消した。→同じエラー
補足
特になし
回答1件
あなたの回答
tips
プレビュー