PythonAnywhereで基本的な web2py サーバーを起動して実行するにはどうすればよい ですか?
5 に答える
[更新 - 2005 年 29 月] ウェブ タブに大きなボタンができました。Web2Pyと表示されている場所をクリックし、管理者パスワードを入力するだけで準備完了です。
ここに歴史的関心のための古いものがあります...
私は PythonAnywhere の開発者です。私たちは大規模な web2py の専門家ではありませんが (まだ?)、web2py を次のように起動して実行することができました:
最初にweb2pyをダウンロードして解凍します:
wget http://www.web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip
PythonAnywhere の [Web] パネルに移動し、wsgi.py
. 次の行を追加します。
import os
import sys
path = '/home/my_username/web2py'
if path not in sys.path:
sys.path.append(path)
from wsgihandler import application
my_username
ユーザー名 に置き換えます。
また、デフォルトの hello world web.py アプリケーションがある wsgi.pyの最後の 2 行をコメントアウトする必要があります...
# comment out these two lines if you want to use another framework
#app = web.application(urls, globals())
#application = app.wsgifunc()
この部分についての指示をくれた Juan Martinez に感謝します 。
次にBashコンソールを開きcd
、メインweb2py
フォルダーに移動してから実行します
python web2py.py --port=80
管理者パスワードを入力してください
ctrl-c を押します
(これにより、parameters_80.py
構成ファイルが生成されます)
次に、PythonAnywhereのWebパネルに移動し、[ Web アプリのリロード] をクリックすると、動作するはずです!
次の bash スクリプトを実行することもできます。
前の投稿のようにバイパスしない限り、HTTPS がないため、admin は無効になります。セキュリティ上の脆弱性が発生します。
Pastebinがダウンしていたので、これをキャッシュから取得しました。
cd ~
wget -O web2py_srz.zip http://web2py.com/examples/static/web2py_src.zip
unzip web2py_src.zip
echo "
PATH = '/home/"`whoami`"/web2py'
import os
import sys
sys.stdout = sys.stderr
os.chdir(PATH)
if not './' in sys.path[:1]: sys.path.insert(0,'./')
from gluon.main import wsgibase as application
" > /var/www/wsgi.py
cd web2py
python -c "from gluon.main import save_password; save_password(raw_input('admin password: '),433)"
議論に何か新しいものを追加しようとします。私が見つけた最も簡単な方法は、ログインしていないときにここに移動することです。これにより、端末をいじる必要がなくなります。
https://www.pythonanywhere.com/try-web2py
ドメイン名を思いつくと、ログイン情報を表示するページにリダイレクトされ、そのドメイン用に作成されたダッシュボードが表示されます。そこからアカウントを作成して、24 時間後にアプリが消去されないようにします。サインアップすると、アプリには 3 か月の有効期限があります (料金を支払っていない場合)。これは新しいポリシーだと思います。次に、https: //appname.pythonanywhere.com/admin にアクセスして、指定されたパスワードを入力し、Web2Py ファイルをダッシュボードにアップロードして、ページにアクセスします。
既存のアカウントで PythonAnywhere に Web2Py アプリをアップロードする方法がわかりませんが、これが私が見つけた最も簡単な方法です。