トップページ > 記事閲覧
PythonによるCGI利用についての質問
投稿日 | : 2019/04/01(Mon) 17:11 |
投稿者 | : たけした |
参照先 | : |
いつもお世話になっております。
Xrea Freeプラン、s1007.xrea.comで利用している者です。
Python3でCGI処理を行っておりますが、どうしてもわからなかったのこちらで質問させていただきます。
CSVファイルを読み込もうと思い、Python3 のPandas、numpyの両モジュールをインポートしましたが、500エラーが出てしまいます。
SSHにてPipを使い、サーバーにインストールされていることは確認しております。
どうやら利用制限?されているようです。
1. FreeプランではPandas, numpyは使用できないのでしょうか。
2. ほかに利用が禁止されている、もしくは、利用可能なモジュールをご教示いただけますか。
お忙しいところ何卒よろしくお願いいたします。
Re: PythonによるCGI利用についての質問
投稿日 | : 2019/04/03(Wed) 10:07 |
投稿者 | : スタッフ ◆OKSXpIjDx1k |
参照先 | : |
たけした 様
日頃より弊社サービスをご愛顧くださり、ありがとうございます。
お問い合わせの件についてご案内させていただきます。
Xrea FreeおよびXREA Plusにつきまして、どちらのプランでもPythonは
同じモジュールをご利用いただけます。
しかしながらpipに関しましては、現在Python2に紐づいていますので、
pip freezeといたしますと、Python2のモジュールが表示されます。
Python3でご利用可能なモジュールの一覧は、python3 -m pip freeze で
ご確認いただければと存じます。
―――――――――――――――
pip バージョン確認:pip -V
python2モジュール確認:python -m pip freeze
python3モジュール確認:python3 -m pip freeze
―――――――――――――――
現在、上記のコマンドで確認いたしますと、Pandas, numpyは「x1007.xrea.com」
上のPython2でご利用いただけますが、python3にはインストールされてい
ないため、ご利用ができかねてしまいます。
ご要望につきまして、担当部門に報告させていただきますが、
お急ぎの場合には、お手数をおかけいたしますがお客様のコンテンツ内に
venv等にてインストールされることもご検討いただけますと幸いでございます。
XREAプラン・機能
https://www.xrea.com/plan/
恐れ入りますが、以上ご確認の程よろしくお願いいたします。
その他ご不明な点がございましたら、お気軽にお問い合わせください。
今後とも弊社サービスをよろしくお願い申し上げます。
Re: PythonによるCGI利用についての質問
投稿日 | : 2019/04/04(Thu) 11:12 |
投稿者 | : たけした |
参照先 | : |
返信ありがとうございます。
Pipでインストールされているのは確認しました。しかし、読み込みできませんでしたので連絡いたします。
1. 出力エラー確認するコードを作成し、importエラーの原因を確認しようと思いました。
確認用.py--------------------------------------------------------------------------------
#!/usr/local/bin/python3
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='UTF-8')
print("Content-type: text/html; charset=UTF-8")
print('')
try:
import テスト
print('成功')
except Exception as e:
print('失敗', e.args)
-----------------------------------------------------------------------------------------
結果:
失敗 ("No module named 'テスト'",)
-----------------------------------------------------------------------------------------
しかしながら以下のコードでは、そもそもエラー出力が行えませんでした。
確認用2.py-------------------------------------------------------------------------------
#!/usr/local/bin/python3
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='UTF-8')
print("Content-type: text/html; charset=UTF-8")
print('')
try:
import numpy
print('成功')
except Exception as e:
print('失敗', e.args)
-----------------------------------------------------------------------------------------
結果:
Internal Server Error
-----------------------------------------------------------------------------------------
すべての外部モジュールが読み込めないのではなく、どうやら一部が読み込めていないようです。
読み込めた:bs4, pytz, six, urllib3, idna
2. SSH上から上記2つ目のコードを試したら実行できました。
CGIの処理がうまくいっていないと思ったのですが、専門知識がなくどうしたらいいのかまったく見当がつきません。
お忙しいところ大変ではございますが、アドバイスをいただけると幸いです。
Re: PythonによるCGI利用についての質問
投稿日 | : 2019/04/04(Thu) 11:31 |
投稿者 | : たけした |
参照先 | : |
追記になりますが、
.htaccessにAddHandler cgi-script .pyと記載しpythonファイルを実行しております。
Re: PythonによるCGI利用についての質問
投稿日 | : 2019/04/05(Fri) 16:25 |
投稿者 | : スタッフ ◆OKSXpIjDx1k |
参照先 | : |
たけした 様
日頃より弊社サービスをご愛顧くださり、ありがとうございます。
お問い合わせの件についてご案内させていただきます。
SSH上から実行したPythonスクリプトにつきまして、ブラウザから実行した際に
Internal Server Error となる場合、.htaccessには、AddHandler cgi-script .py と
記載していただいているとのことでございますため、実行ファイルのユーザーと
グループに実行権限が付与され、ファイルの属性が755等になっていることをご確認の上、
改行箇所に「\n\n」を追加いただいてお試しいただければと存じます。
恐れ入りますが、以上ご確認の程よろしくお願いいたします。
その他ご不明な点がございましたら、お気軽にお問い合わせください。
今後とも弊社サービスをよろしくお願い申しあげます。