
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文章通過Virtualenv弄清楚如何創建特定版本的Python。
pip install -r requirements.txt
PythonBuddy/PythonBuddy/ 。 cd PythonBuddy
export FLASK_APP=app.py
flask run
打開您的瀏覽器到Localhost:5000。瞧! ?



請查看pythonbuddysandboxed,以獲取完整工作的Web實現,該實現使用了名為Pythonbuddysandbox的pythonbuddy版本。
這是建立在Christophetd的Docker-Python-Sandbox的基礎上的,並且只是對其進行了修改,以便它在後台運行並處理客戶端的Pylint消息。
要查看他如何在網絡側實現它,請查看https://github.com/christophetd/code-execution-api-demo
這仍處於Alpha階段,因此可能有一些錯誤。如果要實施此功能,請檢查上面的4個鏈接,因為文檔是WIP。
要運行測試,請在根目錄中運行此操作:
pytest
對於覆蓋範圍,在根目錄中運行以下命令:
pytest --cov-report html --cov=PythonBuddy tests/
你為什麼做這個?
2014年,我是MIT EDX 6.00.1X課程的TA社區,我幫助教授了1000多名學生。我開始在Eni Mustafaraj教授下研究的那一年。她從該課程中獲得了數據集,我們在頭兩週內看到了學生的損耗率很高。挖掘了課程和數據後,我意識到,由於設置Python環境的困難以及運行代碼時無法解決的複雜錯誤消息,學生離開了(例如:有些學生有路徑問題)。
因此,我創建了Pythonbuddy來解決此問題,以便學生不必經歷設置Python環境並遇到看似“隨機”錯誤的挫敗感。 Pythonbuddy允許用戶在實時語法檢查和突出顯示的支持下直接跳入Python編程。此外,教授和教師可以輕鬆地設置服務器,並允許學生通過在線使用Pythonbuddy快速測試他們的代碼。
有沒有人創建過這樣的東西?
從來沒有在線有實時語法檢查器。類似的不是“直播”的項目是http://pep8online.com/和http://antares.sip.ucm.es/cesar/pylint/
我該如何貢獻?
你可以 ?星級我的存儲庫,分叉我的回購,提交拉動請求和/或開放問題!
將其嵌入MOOC的代碼在哪裡?
我目前正在此處(專門針對EDX):https://github.com/ethanchewy/pybuddy2.0。如果您想將該項目直接嵌入您的網站,則使用一個iframe:
<iframe src="https://pythonbuddy.com"></iframe>
我希望代碼真正以某種方式編譯和運行?
要安全地運行Pythonbuddy,您可以通過Docker and Node.js查看我對Pythonbuddy的實現:https://github.com/ethanchewy/pythonbuddy#secure-secure-secure-sandboxed-version-version-version-version-using-docker。基本上,它將每個用戶會話停靠(類似於為每個用戶創建虛擬機),並在使用過多的內存或運行惡意代碼時將其銷毀。
如果您想在我受限制的python分支上以受限的方式實際執行Python:https://github.com/ethanchewy/pythonbuddy/tree/tree/restryctionpypython。
如何運行自己的服務器?常規:https://github.com/ethanchewy/onlinepythonlintersyntaxchecker/wiki
沙盒:https://github.com/ethanchewy/pythonbuddy/wiki/running-sandboxed-pythonbuddy
在2020年玻璃杯,Python Weekly,CSS作者和Talk Python Podcast上發表
這是在韋爾斯利學院教授Eni Mustafaraj的指導下,Ethan Chiu作為研究項目。
截至2020年10月,Pythonbuddy.com將不再是該開源項目的演示服務器,因為每月為80,000多人託管它的成本增加。相反,此URL將重定向回到此GitHub回購。