2019年3月7日 星期四

免費的線上 Python 執行環境 PythonAnywhere

今天在找可以執行 Django 的虛擬主機時找到下面這篇 :

5 Platforms That Provide Free Django App Hosting

其中介紹的第一家主機商為 PythonAnyther, 提供免費的 Python 執行環境與網頁空間給初學者 :

https://www.pythonanywhere.com




免費帳號的功能受到如下限制 :
  1. 只能建立一個 App (應用程式)
  2. 網外存取 Internet 有限制
  3. CPU 與儲存有限制 (一天 100 秒 CPU 時間, 512MB 儲存)
  4. 不提供 Jupyter (但有 IPython)
  5. 只能有兩個 Console (Bash 與 Python)
但這對於初學者做測試練習或佈署單一 App 而言, 這些免費資源應該綽綽有餘了. 

按 "Create a Beginner account" 按鈕進入註冊頁面 :




填好帳密按 "Register" 鈕後會收到確認信, 必須按信中的 "Click this link" 超連結才算完成註冊程序 :




然後到 PythonAnywhere 首頁右上方按 "Log in" 登入後就會進入後台管理頁面的 Dashboard 了 :




左上角會顯示目前已使用的 CPU 時間, 免費帳戶每天有 100 秒的 CPU 使用時間, 每天會重設一次. 其次, 免費帳戶儲存空間是 512MB.

左下角是控制台, 提供 Bash 命令列與 Python shell 兩種介面, 例如按 "Bash" 鈕會在網頁中開啟 Bash 介面, 可以下達 Linux 指令, 例如用 pip3 安裝 Python 函式庫等 :




用 pip3 install ta-lib 安裝 TaLib 技術分析套件 :

15:46 ~ $ pip3 install ta-lib 
Looking in links: /usr/share/pip-wheels
Requirement already satisfied: ta-lib in /usr/lib/python3.7/site-packages (0.4.17)
Requirement already satisfied: numpy in /usr/lib/python3.7/site-packages (from ta-lib) (1.14.5)

參考這篇 : 

Python Fintech 學習筆記 : 安裝技術指標套件 TA-Lib 

Pythonanywhere 的 Console 控制台可以按 Ctrl+V 貼上 (paste) 複製而來的程式碼, 參考 :  



>>> import numpy as np
>>> import talib
>>> close=np.random.random(100)
>>> print(talib.SMA(close, 5))
[       nan        nan        nan        nan 0.34808801 0.52264937
 0.64351182 0.75393635 0.74234353 0.71778949 0.64971961 0.67491763
 0.57671857 0.54421272 0.65457444 0.58743057 0.50533167 0.48185494
 0.54440284 0.53688983 0.50845023 0.54553876 0.64047661 0.6511895
 0.5726648  0.65876775 0.6509716  0.66804279 0.62187143 0.57060829
 0.53847643 0.48251872 0.47543778 0.44659462 0.42806644 0.47181104
 0.58388838 0.59820481 0.50844235 0.52106092 0.43131579 0.34949637
 0.35403116 0.51843584 0.66692686 0.79717878 0.84477143 0.79335296
 0.6481571  0.55042118 0.52710926 0.418394   0.32731985 0.46259856
 0.52543889 0.38548079 0.51638148 0.50976843 0.41726575 0.30277577
 0.32223635 0.18563746 0.21352087 0.16943644 0.16110543 0.29269783
 0.39163323 0.49826001 0.63180882 0.65823083 0.68998768 0.71574013
 0.5943405  0.42551315 0.38440621 0.19944519 0.23438315 0.24946455
 0.37982067 0.51549111 0.65462005 0.54870075 0.55923184 0.59187699

以 pip3 list 顯示已經安裝過的套件, 包括 Django, Numpy, Pandas, Matplotlib, Keras 等都已安裝, 非常豐富 :

15:47 ~ $ pip3 list   
Package                          Version 
-------------------------------- -----------
alabaster                        0.7.11   
alembic                          1.0.0   
aniso8601                        3.0.2   
appdirs                          1.4.3   
arrow                            0.12.1   
asn1crypto                       0.24.0   
astropy                          3.0.3   
async                            0.6.2   
atomicwrites                     1.1.5   
attrs                            18.1.0   
Babel                            2.6.0   
backports.functools-lru-cache    1.5     
banal                            0.3.7   
bcrypt                           3.1.4   
beautifulsoup4                   4.6.0   
biopython                        1.72     
black                            18.6b4   
bleach                           2.1.3   
blinker                          1.4     
bokeh                            0.13.0   
boto                             2.49.0   
boto3                            1.7.83   
botocore                         1.10.83 
bottle                           0.12.13 
Bottleneck                       1.2.1   
bottlenose                       1.1.8   
BTrees                           4.5.0   
bz2file                          0.98     
cachetools                       2.1.0   
cairocffi                        0.8.1   
CairoSVG                         2.1.3   
certifi                          2018.8.13
cffi                             1.11.5   
cftime                           1.0.1   
Chameleon                        3.4     
chardet                          3.0.4   
cheroot                          6.3.3   
CherryPy                         17.0.0   
click                            6.7     
click-plugins                    1.0.3   
cligj                            0.4.0   
cloudpickle                      0.5.3   
colorama                         0.3.9   
configobj                        5.0.6   
coverage                         4.5.1   
cryptography                     2.2.2   
cssselect                        1.0.3   
cssselect2                       0.2.1   
cycler                           0.10.0   
Cython                           0.28.4   
dask                             0.18.1   
dataset                          1.1.0   
decorator                        4.3.0   
dectate                          0.13     
defusedxml                       0.5.0   
Django                           2.1     
django-blog-zinnia               0.20     
django-bootstrap-form            3.4     
django-classy-tags               0.8.0   
django-contrib-comments          1.8.0   
django-formtools                 2.1     
django-js-asset                  1.1.0   
django-mptt                      0.9.0   
django-object-tools              1.11.0   
django-sekizai                   0.10.0   
django-tagging                   0.4.6   
django-treebeard                 4.3     
django-xmlrpc                    0.1.8   
djangocms-admin-style            1.2.8   
docopt                           0.6.2   
docutils                         0.14     
dominate                         2.3.1   
EasyProcess                      0.2.3   
entrypoints                      0.2.3   
et-xmlfile                       1.0.1   
falcon                           1.4.1   
feedfinder2                      0.0.4   
feedgenerator                    1.9     
feedparser                       5.2.1   
filebrowser-safe                 0.5.0   
Fiona                            1.7.13   
Flask                            1.0.2   
Flask-Admin                      1.5.1   
Flask-Babel                      0.11.2   
Flask-Bcrypt                     0.7.1   
Flask-Bootstrap                  3.3.7.1 
Flask-HTTPAuth                   3.2.4   
Flask-Login                      0.4.1   
Flask-RESTful                    0.3.6   
Flask-Script                     2.0.6   
Flask-SQLAlchemy                 2.3.2   
Flask-SSLify                     0.1.5   
Flask-WTF                        0.14.2   
future                           0.16.0   
Genshi                           0.7     
gensim                           3.5.0   
geographiclib                    1.49     
geopy                            1.15.0   
gevent                           1.3.5   
gitdb                            0.6.4   
gitdb2                           2.0.4   
GitPython                        2.1.11   
gmpy                             1.17     
google-api-python-client         1.7.4   
google-auth                      1.5.1   
google-auth-httplib2             0.0.3   
grappelli-safe                   0.5.0   
greenlet                         0.4.13   
grokcore.component               3.1     
h5py                             2.8.0   
html5lib                         1.0.1   
httplib2                         0.11.3   
hupper                           1.3     
idna                             2.7     
imagesize                        1.0.0   
IMAPClient                       2.0.0   
importscan                       0.1     
inflection                       0.3.1   
ipykernel                        4.8.2   
ipyparallel                      5.0.1   
ipython                          4.1.2   
ipython-genutils                 0.2.0   
ipywidgets                       5.2.3   
isodate                          0.6.0   
isort                            4.3.4   
itsdangerous                     0.24     
jaraco.functools                 1.20     
jdcal                            1.4     
jellyfish                        0.6.1   
jieba3k                          0.35.1   
Jinja2                           2.10     
jmespath                         0.9.3   
jsonschema                       2.6.0   
jupyter                          1.0.0   
jupyter-client                   5.2.3   
jupyter-console                  5.2.0   
jupyter-core                     4.4.0   
Keras                            2.2.2   
Keras-Applications               1.0.4   
Keras-Preprocessing              1.0.2   
kiwisolver                       1.0.1   
lxml                             4.2.3   
Mako                             1.0.7   
marisa-trie                      0.7.5   
Markdown                         2.6.11   
MarkupSafe                       1.0     
martian                          1.2     
matplotlib                       2.2.2   
mechanize                        0.2.5   
mimerender                       0.6.0   
mistune                          0.8.3   
mock                             2.0.0   
more-itertools                   4.3.0   
morepath                         0.18.1   
mots-vides                       2015.5.11
mpmath                           1.0.0   
munch                            2.3.2   
mysql-connector-python           8.0.11   
mysqlclient                      1.3.13   
nbconvert                        5.3.1   
nbformat                         4.4.0   
neo4j-driver                     1.6.1   
neotime                          1.0.0   
netCDF4                          1.4.0   
netifaces                        0.10.7   
networkx                         2.1     
newspaper3k                      0.2.6   
nltk                             3.3     
normality                        0.6.1   
nose                             1.3.7   
notebook                         4.2.2   
numexpr                          2.6.5   
numpy                            1.14.5   
oauth2client                     4.1.2   
oauthlib                         2.1.0   
opencv-contrib-python-headless   3.4.2.17 
openpyxl                         2.5.4   
packaging                        17.1     
pandas                           0.23.3   
pandocfilters                    1.4.2   
paramiko                         2.4.1   
Paste                            2.0.3   
PasteDeploy                      1.5.2   
pbr                              4.1.0   
pdfrw                            0.4     
peewee                           3.5.2   
pelican                          3.7.1   
pep8                             1.7.1   
persistent                       4.2.4.2 
pexpect                          4.6.0   
pickleshare                      0.7.4   
Pillow                           5.2.0   
Pint                             0.8.1   
pip                              18.0     
plaster                          1.0     
plaster-pastedeploy              0.6     
plotly                           3.0.0   
pluggy                           0.7.1   
pocketsphinx                     0.1.15   
portend                          2.3     
praw                             6.0.0   
prawcore                         1.0.0   
prettytable                      0.7.2   
prompt-toolkit                   1.0.15   
protobuf                         3.6.1   
psutil                           5.4.6   
psycopg2-binary                  2.7.5   
ptyprocess                       0.6.0   
pudb                             2018.1   
py                               1.5.4   
py-bcrypt                        0.4     
py2neo                           4.0.0   
pyasn1                           0.4.3   
pyasn1-modules                   0.2.2   
pycairo                          1.17.1   
pycparser                        2.18     
pycrypto                         2.6.1   
pycurl                           7.43.0.2 
pyDatalog                        0.17.1   
pydub                            0.22.1   
pyenchant                        2.0.0   
pyflakes                         2.0.0   
pyflakes3k                       0.4.3   
pygal                            2.4.0   
pygeoip                          0.3.2   
Pygments                         2.2.0   
PyGObject                        3.28.2   
PyJWT                            1.6.4   
Pykka                            1.2.1   
pymc                             2.3.6   
pymongo                          3.7.1   
PyNaCl                           1.2.1   
pyOpenSSL                        18.0.0   
pyparsing                        2.2.0   
Pyphen                           0.9.4   
pyquery                          1.4.0   
pyramid                          1.9.2   
pyserial                         3.4     
PySocks                          1.6.8   
pyspotify                        2.0.5   
PyStemmer                        1.3.0   
pytesseract                      0.2.2   
pytest                           3.7.1   
python-amazon-simple-product-api 2.1.0   
python-dateutil                  2.7.3   
python-editor                    1.0.3   
python-gettext                   3.0     
python-Levenshtein               0.12.0   
python-magic                     0.4.15   
python-mimeparse                 1.6.0   
python-slugify                   1.2.5   
pytz                             2018.5   
PyVirtualDisplay                 0.2.1   
PyWavelets                       0.5.2   
PyYAML                           3.13     
pyzmq                            17.1.0   
qrcode                           6.0     
qtconsole                        4.4.1   
Quandl                           3.4.0   
rdflib                           4.2.2   
redis                            2.10.6   
reg                              0.11     
regex                            2018.8.17
repoze.lru                       0.7     
requests                         2.19.1   
requests-cache                   0.4.13   
requests-file                    1.4.3   
requests-oauthlib                1.0.0   
retrying                         1.3.3   
rpy2                             2.8.6   
rsa                              3.4.2   
ruffus                           2.7.0   
s3transfer                       0.1.13   
scikit-image                     0.14.0   
scipy                            1.1.0   
selenium                         2.53.6   
setproctitle                     1.1.10   
setuptools                       39.1.0   
Shapely                          1.6.4.post1
simplegeneric                    0.8.1   
simplejson                       3.16.0   
simpy                            3.0.11   
singledispatch                   3.4.0.3 
six                              1.11.0   
smart-open                       1.6.0   
smmap                            0.9.0   
smmap2                           2.0.4   
snowballstemmer                  1.2.1   
socketpool                       0.5.3   
sockjs-tornado                   1.0.3   
SocksiPy-branch                  1.1     
South                            1.0.2   
SPARQLWrapper                    1.8.2   
Sphinx                           1.7.6   
sphinxcontrib-websupport         1.1.0   
splinter                         0.7.3   
SQLAlchemy                       1.2.10   
stevedore                        1.28.0   
stripe                           2.0.1   
sympy                            1.2     
TA-Lib                           0.4.17   
tables                           3.4.4   
Tempita                          0.5.2   
tempora                          1.13     
terminado                        0.8.1   
testpath                         0.3.1   
texcaller                        0       
textblob                         0.15.1   
tinycss                          0.4     
tinycss2                         0.6.1   
tldextract                       2.2.0   
toml                             0.9.4   
toolz                            0.9.0   
tornado                          4.5.3   
traitlets                        4.3.2   
transaction                      2.2.1   
translationstring                1.3     
twilio                           6.15.0   
twitter                          1.18.0   
tzlocal                          1.5.1   
uncertainties                    3.0.2   
Unidecode                        1.0.22   
update-checker                   0.16     
uritemplate                      3.0.0   
urllib3                          1.23     
urwid                            2.0.1   
venusian                         1.1.0   
virtualenv                       16.0.0   
virtualenv-clone                 0.3.0   
virtualenvwrapper                4.8.2   
visitor                          0.1.3   
w3lib                            1.19.0   
waitress                         1.1.0   
Wand                             0.4.4   
wcwidth                          0.1.7   
WeasyPrint                       0.42.3   
webencodings                     0.5.1   
WebOb                            1.8.2   
WebTest                          2.0.30   
Werkzeug                         0.14.1   
wheel                            0.31.1   
wheezy.caching                   0.1.114 
wheezy.core                      0.1.140 
wheezy.html                      0.1.147 
wheezy.http                      0.1.344 
wheezy.routing                   0.1.157 
wheezy.security                  0.1.64   
wheezy.template                  0.1.167 
wheezy.validation                0.1.135 
wheezy.web                       0.1.485 
Whoosh                           2.7.4   
widgetsnbextension               1.2.6   
WSGIProxy2                       0.4.4   
WTForms                          2.2.1   
xgboost                          0.72.1   
xlrd                             1.1.0   
xlwt                             1.3.0   
z3c.pt                           3.1.0   
zc.buildout                      2.12.1   
zc.lockfile                      1.3.0   
ZConfig                          3.2.0   
zdaemon                          4.2.0   
ZEO                              5.2.0   
ZODB                             5.4.0   
ZODB3                            3.11.0   
zodbpickle                       1.0.2   
zope.annotation                  4.6.0   
zope.app.appsetup                4.0.0   
zope.app.publication             4.2.1   
zope.app.wsgi                    4.1.0   
zope.authentication              4.3     
zope.browser                     2.2.0   
zope.browserpage                 4.2.0   
zope.browserresource             4.2.1   
zope.cachedescriptors            4.3.1   
zope.catalog                     4.2.1   
zope.component                   4.4.1   
zope.configuration               4.1.0   
zope.container                   4.2.1   
zope.contentprovider             4.1.0   
zope.contenttype                 4.3.0   
zope.datetime                    4.2.0   
zope.deprecation                 4.3.0   
zope.dottedname                  4.2     
zope.error                       4.4.0   
zope.event                       4.3.0   
zope.exceptions                  4.2.0   
zope.filerepresentation          4.2.0   
zope.formlib                     4.4     
zope.i18n                        4.3.1   
zope.i18nmessageid               4.1.0   
zope.index                       4.3.0   
zope.interface                   4.5.0   
zope.intid                       4.3.0   
zope.keyreference                4.1.0   
zope.lifecycleevent              4.2.0   
zope.location                    4.1.0   
zope.login                       2.1.0   
zope.minmax                      2.2.0   
zope.pagetemplate                4.3.0   
zope.password                    4.3.1   
zope.principalregistry           4.2.0   
zope.processlifetime             2.2.0   
zope.proxy                       4.3.0   
zope.ptresource                  4.1.0   
zope.publisher                   4.3.2   
zope.schema                      4.5.0   
zope.security                    4.2.2   
zope.securitypolicy              4.2.0   
zope.session                     4.2.0   
zope.site                        4.1.0   
zope.size                        4.2.0   
zope.tal                         4.3.1   
zope.tales                       4.2.0   
zope.testbrowser                 5.2.4   
zope.testing                     4.6.2   
zope.traversing                  4.2.0   
zope.viewlet                     4.1.0   
15:48 ~ $

開啟 Python shell 控制台可選擇 Python 版本, 有 3.7, 3.6, 以及 2.7 可選 :




進入 Python shell 後可直接執行 Python 指令 :




按 "File" 超連結或 "Browse the files" 按鈕會進入檔案管理頁面, 可在線上對檔案進行新增, 編輯, 刪除, 以及下載作業 :





"Web" 功能可建立 Django 網頁應用程式, 但免費帳號只能建立一個 App :




"Tasks" 功能可建立定時或週期性執行的任務, 即類似 Linux 中的 Crontab, 說明中只提到每小時每日執行, 不知到最短週期可低於一小時例如每五分鐘否, 也沒有談到免費用戶可建立之 Tasks 數目.

"Database" 功能可建立 MySQL 資料庫 :




總之, 除了費用有點小貴外 (比起我現用中的 Hostinger PHP 主機), 此 Python雲端主機介面簡潔直觀易懂, 就算手邊沒有電腦, 只要用手機上網就可以立即進行專案開發與管理, 是初學者非常不錯的選擇, .

沒有留言:

張貼留言