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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

568閲覧

ローカルでは問題がないがpythonanywhere上でValueError: not enough values to unpack (expected 2, got 1)が発生します

退会済みユーザー

退会済みユーザー

総合スコア0

Django

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

Python 3.x

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

0グッド

0クリップ

投稿2019/07/28 06:59

前提・実現したいこと

ローカルでは問題なく動作するコードがpythonanywhere上では値が足りないと返されます。

発生している問題・エラーメッセージ

2019-07-28 15:25:55,015: Internal Server Error: /talking/ Traceback (most recent call last): File "/home/elis1107/.virtualenvs/myenv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/home/elis1107/.virtualenvs/myenv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/home/elis1107/.virtualenvs/myenv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/elis1107/.virtualenvs/myenv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "/home/elis1107/.virtualenvs/myenv/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch return handler(request, *args, **kwargs) File "/home/elis1107/elis/talk/views.py", line 24, in post elis = Elis('elis') File "/home/elis1107/elis/talk/elis.py", line 9, in __init__ self.dictionary = Dictionary() File "/home/elis1107/elis/talk/dictionary.py", line 9, in __init__ self.load_pattern() File "/home/elis1107/elis/talk/dictionary.py", line 35, in load_pattern ptn, prs = line.split('\t') ValueError: not enough values to unpack (expected 2, got 1)

該当のソースコード

django

1import random 2import re 3... 4... 5class Dictionary: 6 def __init__(self): 7 self.load_random() 8 self.load_pattern() 9 self.load_template() 10 self.load_markov() 11 12... 13... 14 15 def load_pattern(self): 16 self.pattern = [] 17 pfile = open('/home/elis1107/elis/talk/dics/pattern.txt', 'r', encoding = 'utf_8') 18 p_lines = pfile.readlines() 19 pfile.close() 20 self.new_lines = [] 21 for line in p_lines: 22 str = line.rstrip('\n') 23 if (str!=''): 24 self.new_lines.append(str) 25 26 for line in self.new_lines: 27 ptn, prs = line.split('\t') 28 self.pattern.append(ParseItem(ptn, prs)) 29 30... 31... 32 33 def study_pattern(self, input, parts): 34 for word, part in parts: 35 if (keyword_check(part)): 36 depend = False 37 for ptn_item in self.pattern: 38 m = re.search(ptn_item.pattern, word) 39 if (re.search(ptn_item.pattern, word)): 40 depend = ptn_item 41 break 42 if depend: 43 depend.add_phrase(input) 44 else: 45 self.pattern.append(ParseItem(word, input)) 46 47... 48... 49 50class ParseItem: 51 SEPARATOR = '^((-?\d+)##)?(.*)$' 52 53 def __init__(self, pattern, phrases): 54 m = re.findall(ParseItem.SEPARATOR,pattern) 55 self.modify = 0 56 if m[0][1]: 57 self.modify = int(m[0][1]) 58 self.pattern = m[0][2] 59 60 self.phrases = [] 61 self.dic = {} 62 for phrases in phrases.split('|'): 63 m = re.findall(ParseItem.SEPARATOR, phrases) 64 self.dic['phrase'] = m[0][2] 65 self.phrases.append(self.dic.copy()) 66 67 def match(self, str): 68 return re.search(self.pattern,str) 69 70 def choice(self): 71 choices = [] 72 return random.choice(choices) 73 74 def add_phrase(self, phrase): 75 for p in self.phrases: 76 if p['phrase'] == phrase: 77 return 78 self.phrases.append({'phrase': phrase}) 79 80 def make_line(self): 81 pattern = self.pattern 82 phrases = [] 83 for p in self.phrases: 84 phrases.append(str(p['phrase'])) 85 return pattern + '\t' + '|'.join(phrases)

patternでエラーが発生しているのでpatternが関係してそうな箇所のみ抜き出しています。

試したこと

ローカルで動作しているものとpythonanywhere上のものは別なので見比べてみましたが、違いが見当たらずお手上げ状態です。
どうすれば解決できるのか教えていただけましたら幸いです。

補足情報(FW/ツールのバージョンなど)

python3.7.1
django2.1.2
を使用しております。

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

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

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

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

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

guest

回答1

0

ベストアンサー

一度すべてのファイルを削除し、gitからcloneしなおしたところこのエラーが発生しなくなりました。

投稿2019/07/28 08:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問