質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

2回答

1189閲覧

codec can't decode byte 0xfd

bunks

総合スコア30

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2018/07/09 03:04

編集2018/07/09 04:42

https://teratail.com/questions/134994
上記の質問を参考に,データベースを作ることはできたのですが,

python

1DB_SCHEMA_PATH = "db.sqlite3" 2 3with open(PrepareChain.DB_SCHEMA_PATH, "r", encoding='utf-8') as f: 4 schema = f.read() 5 con.executescript(schema)

schema = f.read()の部分で以下のようなエラーが出ます。

Exception Value: utf-8' codec can't decode byte 0xfd in position 98: invalid start byte /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py in decode # Overwrite this method in subclasses: It must decode input # and return an (output, length consumed) tuple raise NotImplementedError def decode(self, input, final=False): # decode input (taking the buffer into account) data = self.buffer + input (result, consumed) = self._buffer_decode(data, self.errors, final) ←←←←←←←エラーの出る業 # keep undecoded input until the next call self.buffer = data[consumed:] return result def reset(self): IncrementalDecoder.reset(self)

また,openの引数にerror="ignore"を加えると,
con.executescript(schema)に

Exception Value: near "SQLite": syntax error ('SQLite format 3\x00\x10\x00\x01\x01\x00@ ' '\x00\x00\x00+\x00\x00\x00&\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+\x00-r\x05\x00\x00\x00\x01\x0f\x00\x00\x00\x00\x17\x0f\n' '\x1f\x0b' '\x0b' '(\x0b' '\t\x07\t' '\x06\x05i\x04\x03\x03\x03\x02U\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00=\x12\x07\x17k-\x01oindexauth_user_groups_user_id_group_id_94350c0c_uniqauth_user_groups\x13CREATE ' 'UNIQUE INDEX auth_user_groups_user_id_group_id_94350c0c_uniq ON ' '"auth_user_groups" ("user_id", ' '"group_id"):\x11\x07\x17g9\x01aindexauth_group_permissions_permission_id_84c5c92eauth_group_permissions\x12CREATE ' 'INDEX "auth_group_permissions_permission_id_84c5c92e" ON ' '"auth_group_permissions" ' '("permission_id")+\x10\x07\x17]9\x01Mindexauth_group_permissions_group_id_b120cbf9auth_group_permissions\x11CREATE ' 'INDEX "auth_group_permissions_group_id_b120cbf9" ON "auth_group_permissions" ' '("group_id")h\x0f\x08\x17\x039\x01\x1f'('SQLi . . .

と表示されます。
(chain_freqsという作ったはずのテーブルが見られないので,データベースの作成エラーでしょうか)

データベースの該当部分は,shellを使って追加しましたため,特にモデルなどは作っていません。

django上でなければ全く普通に動くプログラムなだけに,どうすれば良いのかわかりません。
エラーが出ないようにする解決策を教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2018/07/09 04:01

エラーに書いてあることを読んでますか?
quickquip

2018/07/09 04:02

どの行でエラーが出ているか書いてありません
guest

回答2

0

投稿2018/07/09 07:45

Kentaro0919

総合スコア258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Django ORMは使う予定はないと言うことですか? それならDjangoじゃない物を使ったほうがいい気がします。

modelを書かない理由はなんですか?

投稿2018/07/09 05:18

Kentaro0919

総合スコア258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bunks

2018/07/09 05:30

drop table if exists chain_freqs; create table chain_freqs ( id integer primary key autoincrement not null, prefix1 text not null, prefix2 text not null, suffix text not null, freq integer not null ); に対応するModelが書けなかったので,直接テーブルだけ追加する形になりました。
bunks

2018/07/09 06:18

ご丁寧に回答していただきありがとうございます。
Kentaro0919

2018/07/09 07:27

modelを書いたら解決しました??
bunks

2018/07/09 07:38

modelの生成がうまくいきません… 今,いただいたURLを参考に進めているのですが, ------setting.py------ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'schema.sql'), } ----schema.sql----- drop table if exists chain_freqs; create table chain_freqs ( id integer primary key autoincrement not null, prefix1 text not null, prefix2 text not null, suffix text not null, freq integer not null ); としたところで,下のようなエラーが出ます。 django.db.utils.DatabaseError: file is encrypted or is not a database 型が間違っているのでしょうか?度々すみません。。
Kentaro0919

2018/07/09 07:42

コマンドの入力から 全て貼り付けていただけますか あと、バージョンとかもお願いします
bunks

2018/07/09 07:59

python 3.6.3 SQLite version 3.19.3 以下,コマンドからエラーメッセージまでです。 $ python3 manage.py inspectdb # This is an auto-generated Django model module. # You'll have to do the following manually to clean this up: # * Rearrange models' order # * Make sure each model has one field with primary_key=True # * Make sure each ForeignKey has `on_delete` set to the desired behavior. # * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table # Feel free to rename the models, but don't rename db_table values or field names. from django.db import models Traceback (most recent call last): File "/Users/USER_NAME/django/django/db/backends/utils.py", line 83, in _execute return self.cursor.execute(sql) File "/Users/USER_NAME/django/django/db/backends/sqlite3/base.py", line 294, in execute return Database.Cursor.execute(self, query) sqlite3.DatabaseError: file is encrypted or is not a database The above exception was the direct cause of the following exception: Traceback (most recent call last): File "manage.py", line 18, in <module> execute_from_command_line(sys.argv) File "/Users/USER_NAME/django/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/Users/USER_NAME/django/django/core/management/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/USER_NAME/django/django/core/management/base.py", line 316, in run_from_argv self.execute(*args, **cmd_options) File "/Users/USER_NAME/django/django/core/management/base.py", line 353, in execute output = self.handle(*args, **options) File "/Users/USER_NAME/django/django/core/management/commands/inspectdb.py", line 31, in handle for line in self.handle_inspection(options): File "/Users/USER_NAME/django/django/core/management/commands/inspectdb.py", line 60, in handle_inspection table_info = connection.introspection.get_table_list(cursor) File "/Users/USER_NAME/django/django/db/backends/sqlite3/introspection.py", line 65, in get_table_list ORDER BY name""") File "/Users/USER_NAME/django/django/db/backends/utils.py", line 100, in execute return super().execute(sql, params) File "/Users/USER_NAME/django/django/db/backends/utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/Users/USER_NAME/django/django/db/backends/utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "/Users/USER_NAME/django/django/db/backends/utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "/Users/USER_NAME/django/django/db/utils.py", line 89, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/Users/USER_NAME/django/django/db/backends/utils.py", line 83, in _execute return self.cursor.execute(sql) File "/Users/USER_NAME/django/django/db/backends/sqlite3/base.py", line 294, in execute return Database.Cursor.execute(self, query) django.db.utils.DatabaseError: file is encrypted or is not a database
Kentaro0919

2018/07/09 13:54

書かれたコードが問題ではなく それ以前の環境が問題な気がします。 一度別に仮想環境を作って 新規でpallsを作るとどうなりますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問