###前提・実現したいこと
友達とアプリ開発をしているのですが、使っているパソコンがmacとwindowsで異なっており、片方で作ったコードをもう片方のパソコンで実行しようとするとエラーが出てしまいます。エラーメッセージは以下の通りです。
解決策として、
・バグを解消するコーディングをする
・開発環境を揃える、windowsの方をLinuxで動かす
などを考えました。
どなたかご教授いただけると幸いです。
###発生している問題・エラーメッセージ
OSError: [Errno 8] Exec format error
OSError: [Errno 8] Exec format error: '/Users/Hiromu/Desktop/20170128_アルゴリズム構築用データ集め/cgi-bin/recommend.py'
127.0.0.1 - - [21/Feb/2017 15:45:15] CGI script exit status 0x7f00
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
-- coding: utf-8 --
"""
推薦アルゴリズム構築部
Reference: http://coreblog.org/ats/stuff/minpy_web/
"""
文字化け回避
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
html_body = """
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>たびレコ-推薦アルゴリズムプロトタイプ</title> <link rel="stylesheet" href="../css/main.css" type="text/css"> </head> <body> <div id= "header"> <h1>たびレコ</h1> </div> <div id ="pagetitle"> <h2>気に入ったら〇を、それ以外は×を押してください!</h2> </div></body> </html><div id="contents"> <form action="/cgi-bin/recommend.py" method="POST" style="display: inline"> <input type="image" src="../img/dislike.png" width=150 name="text2" value="1{0}" /> </form> <img src="../photos/({0}).JPG" width =500> <form action="/cgi-bin/recommend.py" method="POST" style="display: inline"> <input type="image" src="../img/like.png" width=150 name="text" value="5{0}" /> </form> </div> <div id="tabs"> <a href = "../index.html"><button>リセット</button></a> </div> <div id="footer"> <p>連絡先:中沢 singnk11@gmail.com</p> </div> <p>Debug Message</p> <p>{0}</p> <p>{1}</p> <p>{2}</p>
"""
#!/usr/bin/env python
#-- coding: utf-8 --
import cgi
import csv
import pandas as pd
import pickle
import numpy as np
import os
以前のデータを読み込む
df = pd.read_csv("recommend.csv")
form = cgi.FieldStorage()
userID = form.getvalue("id","processing") #UserIDを取得
始まりの画像
if userID != "processing":
num = "1"
画像のどちらを選んだか。Oなら1,Xなら2
select = form.getvalue("text","00")
if select[0] != "5":
select = form.getvalue("text2","00")
# select = "1" + num
num = select[1:]
select= select[0]
最初は、一番左のカラムにuserID登録
if userID != "processing":
zeros = np.zeros(df.shape[1])
zeros = pd.Series(zeros, index=df.columns, name = df.shape[0])
df = df.append(zeros)
df["userID"][df.shape[0]-1] = userID
画像を選択した状態
else:
df.iloc[[df.shape[0]-1],[int(num)+1]] = select[0]
# 次に移す画像の番号
num = str(int(num) + 1)
dfを保存
df.to_csv("recommend.csv", index= False)
画像の枚数を数える
path = "photos"
l = os.listdir(path)
no_f = 0
for i in l:
item = i.split(".")
if item[1] == "jpg":
no_f +=1
elif item[1] == "JPG":
no_f +=1
if int(num) > no_f - 2:
num = "33"
print("Content-Type: text/html\n")
print(html_body.format(num, userID, select))
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。