
git clone https://github.com/ethanchewy/PythonBuddy.git
cd PythonBuddy
python3 -m venv venv
source venv/bin/activate
python --version
Python Python 3.7.6を使用しない場合、Pythonbuddyが依存しているPythonライブラリは機能しない可能性があります。このドキュメントを参照して、このStackOverFlow Postを介してVirtualenvを介してPythonの特定のバージョンを作成する方法を見つけてください。
pip install -r requirements.txt
PythonBuddy/PythonBuddy/になります。 cd PythonBuddy
export FLASK_APP=app.py
flask run
ブラウザをLocalHost:5000に開きます。出来上がり! ?



pythonbuddysandboxというドキュカリングバージョンのpythonbuddyを使用する完全に機能するWeb実装については、pythonbuddysandedをチェックしてください。
これにより、ChristophetdのDocker-Python-Sandboxから構築され、それを変更するだけで、バックグラウンドでピリントを実行し、クライアント側のピリントメッセージを処理します。
彼がそれをWeb側でどのように実装するかを確認するには、https://github.com/christophetd/code-execution-api-demoをご覧ください
これはまだアルファステージにあるので、いくつかのバグがあるかもしれません。これを実装する場合は、ドキュメントがWIPであるため、上記の4つのリンクを確認してください。
テストを実行するには、ルートディレクトリでこれを実行します。
pytest
カバレッジの場合、ルートディレクトリで次のコマンドを実行します。
pytest --cov-report html --cov=PythonBuddy tests/
なぜこれを作ったのですか?
2014年、私はMIT EDX 6.00.1xコースのコミュニティTAで、1000人以上の学生を教えるのを手伝いました。 Eni Mustafaraj教授の下で研究を始めた翌年。彼女はそのコースからのデータセットを持っていて、最初の2週間以内に学生の降伏率が高いことがわかりました。カリキュラムとデータを掘り下げた後、学生はPython環境をセットアップするのが難しいため、コードを実行するときに解決できなかった複雑なエラーメッセージを去ったことに気付きました(例:一部の学生にはパスの問題がありました)。
そこで、この問題に対処するためにPythonbuddyを作成して、生徒がPython環境をセットアップし、一見「ランダムな」バグにぶつかるというフラストレーションを経験する必要がないようにしました。 Pythonbuddyを使用すると、ユーザーはライブ構文チェックとハイライトをサポートして、Pythonプログラミングにすぐに飛び込むことができます。また、教授や教師はサーバーを簡単にセットアップし、生徒がPythonbuddyオンラインでコードをすばやくテストできるようにすることができます。
誰かが以前にこのようなものを作成しましたか?
Python Online用のライブ構文チェッカーはありませんでした。 「ライブ」ではない同様のプロジェクトは、http://pep8online.com/およびhttp://antares.sip.ucm.es/cesar/pylint/です。
どうすれば貢献できますか?
あなたはできる ?私のリポジトリ、フォーク私のリポジトリ、プルリクエストの送信、および/またはオープンな問題!
MOOCSに埋め込むためのコードはどこにありますか?
私は現在、ここでこれに取り組んでいます(具体的にはedxの場合):https://github.com/ethanchewy/pybuddy2.0です。このプロジェクトをサイトに直接埋めたい場合は、iframeを使用します。
<iframe src="https://pythonbuddy.com"></iframe>
コードを実際にコンパイルして特定の方法で実行したいですか?
Pythonbuddyを安全に実行するには、dockerおよびnode.jsを使用したpythonbuddyの実装を確認できます:https://github.com/ethanchewy/pythonbuddy#secure-sandboxed-version-using-docker。基本的に、各ユーザーセッション(各ユーザーの仮想マシンの作成と同様)をDockerizeし、メモリを使用しすぎたり、悪意のあるコードを実行したりすると破壊します。
私の制限付きPythonブランチで実際にPythonを制限された方法で実行したい場合:https://github.com/ethanchewy/pythonbuddy/tree/restrictedpython。
自分のサーバーを実行するにはどうすればよいですか?レギュラー:https://github.com/ethanchewy/onlinepythonlinteryntyntaxchecker/wiki
サンドボックス:https://github.com/ethanchewy/pythonbuddy/wiki/running-sandboxed-pythonbuddy
FlaskCon 2020、Python Weekly、CSS著者、Talk Python Podcastで紹介されています
これは、ウェルズリー大学のエニ・ムスタファラジ教授の指導の下で、イーサン・チウによって研究プロジェクトとして作られました。
2020年10月の時点で、Pythonbuddy.comは、毎月80,000人以上の人々をホストするコストが増加するため、このオープンソースプロジェクトのデモサーバーではなくなります。代わりに、このURLはこのGitHubリポジトリにリダイレクトされます。