What is Python Anywhere used for? - python-3.x

I recently opened an account with PythonAnywhere and learnt it is an online IDE and web hosting service but as a beginner in python 3.4, what exactly can i do with it?

PythonAnywhere dev here,
You can use PythonAnywhere to do most of the things you can do on your own computer with Python
start a Python interactive console (from the "Consoles" tab)
edit a python file and run it (from the "Files" tab)
The exception is that, if you want to do things with graphics, like use pygame, that won't work on PythonAnywhere. But most text-based console things will work.
You can also do some more funky things, like host a web application ("Web"), and schedule tasks to run at regular intervals ("Schedule"). If you upgrade to a premium account, you can also run "Jupyter Notebooks", which are popular in the scientific commmunity.
If you need help with anything, drop us a line to support#pythonanywhere.com

Pythonanywhere is a cloud PAAS, what that means is you can just worry about coding and leave the headache of hosting, platform, DB and PAAS considerations on pythonanywhere. Anyone who has tried to deploy a website prior to the cloud days can attest to how many more things developers had to worry about
A good example to get started
https://technovechno.com/free-website-creation-hosting-publishing-in-the-cloud-using-pythonanywhere/

Related

Outputting/Testing of Code within Google Cloud Shell Editor

Hopefully you are safe and well.
During this lockdown my company moved to Slack. As a bit of a WFH hobby, about a week ago I started to learn how to code basic Slack apps within Google Cloud. The reason for this message is to ask a novice question, so please forgive me. Is there a way to test/ output/ compile code within Google Cloud without having to go through the steps to send it to Slack and test within that eco-system. I imagine not, as I've looked through the platform and help files.
Many thanks for any help with this question.
Best wishes,
David
Cloud Shell runs a docker container, with many language SDK's already installed.
Developers will enjoy access to all their favorite
development tools pre-configured. You’ll find Java, Go, Python,
Node.js, PHP, and Ruby development and deployment tools. Run your web
applications inside the Cloud Shell instance and preview them from the
browser. Then commit it back to your repo with the pre-configured git
and Mercurial clients.
So yes, you can actually test/output/compile all your Java, Go, Python, Node.js, PHP, and Ruby code.
For example it comes out of the box with:
Maven for Java.
NPM for NodeJS.
PIP for Python.
And many others.
If you are using NodeJS to code Slack apps, you can even run Visual Studio Code in Google Cloud Shell:
export VERSION=`curl -s https://api.github.com/repos/cdr/code-server/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
wget https://github.com/cdr/code-server/releases/download/$VERSION/code-server-$VERSION-linux-x86_64.tar.gz
tar -xvzf code-server-$VERSION-linux-x86_64.tar.gz
cd code-server-$VERSION-linux-x86_64
./code-server --no-auth --port 8080
For reference the code and image for VS Code were taken from this medium post.
Please check the official docs for the most up-to-date list of supported languages.

I wonder if this is Python IDLE

At first, I'm not good at English but I'm doing my best, thank you.
I connected Amazon Lightsail and installed python36.
It is the list I installed.
python36.x86_64
python36-devel.x86_64
python36-libs.x86_64
python36-pip.noarch
Then I entered shell as shown in picture below after typing 'python3'.
At https://realpython.com/python-idle/#what-is-python-idle, How to Use the Python IDLE Shell's first image, it looks very similar to the image I uploaded.
So I think it is Python IDLE but I'm not sure yet.
Because at https://www.centos.org/forums/viewtopic.php?t=53908, 'python34-tools' contains idle3.
What? I'm not installed 'python36-tools'!
I installed 'python36-tools' and typed 'idle3' but there's an error, 'command not found'.
Even according to https://centos.pkgs.org/7/puias-unsupported-x86_64/python36-idle-3.6.6-1.sdl7.x86_64.rpm.html, it is definitely Python IDLE!
What's the right thing? I'm so confused.
I wanted to know more, so visit https://docs.python.org/ko/3.6/whatsnew/3.6.html and find this, 'The IDLE features formerly implemented as extensions have been reimplemented as normal features.'
It can be translated like this?
'Starting with version 3.6.3, you don't have to install idle3 separately. Just type python3 for use Python IDLE.'
I searched the information related to the above and couldn't find anything.
Please help me!
IDLE is a GUI application, with menus and windows. So you need to use a Linux/macos/windows desktop environment, it does not run in a terminal window.
It actually looks like this: https://www.youtube.com/watch?v=bOvqYw1SZJg
It starts in a standard python interactive shell, such as your screen shot.
But being a desktop app, it allows you to have multiple editor windows open with source files, and it has GUI debugging tools. IDLE is rudimentary, but also very simple (which can be a good thing).
I think there is a lot to be said for learning python in a real desktop environment, with multiple windows and friendly, easy to use debuggers.
There are cloud IDEs for python, but I don't think they are a good step for newcomers. The debugging is not very good, for instance.
However, jupyter is a good option for learning python, I think.
E.g.: https://realpython.com/jupyter-notebook-introduction/
Jupyter runs a webserver and you edit python in interactive workbooks which you open in a browser. I suppose it is a cloud IDE.
This is a short video of running it on Windows ... https://www.youtube.com/watch?v=jZ952vChhuI
jump to about the 2m mark to see it running.
To be honest, it is arguably a better place to start than IDLE.You could run the server part of this from lightsail, but you will probably need to configure your lightsail instance to open the ports needed to server jupyter's web pages.
But if you want to start with IDLE, you need python running on a desktop. A linux desktop is a very good choice. You can set up a desktop linux, such as ubuntu, in virtualbox if all you have is Windows.
However, if after all of that, you are going to do python from the command line, you should learn about
* virtual environments
* once you set one up, do pip install ipythonto get a better version of the python shell.
As others said, python3 on a non-Windows command line starts python in interactive mode. To start IDLE on a command line, use python3 -m idlelib.

Running Selenium in Azure Function

I want to periodically scrape a website with Selenium and a headless PhantomJS driver.
My boss wants me to run it "in the cloud" for reasons, and a serverless Azure Function looks like it could be a useful way to do it, instead of having to run a VM or something.
I've got my VS.net code to do the scraping mostly done, but I just realized that I'm not sure if I can actually deploy it as a function, since it looks like it wants me to include the phantomjs.exe in my project in order to run, which may not work in a Azure Function...
Can I do what I wanted to do, or should I explore other options?
PhantomJS is a known unsupported framework in App Service, which is the same environment Azure Functions runs on.
You can find more information here: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks

How do I use NodeJS on Asustor AS-302T NAS

I have recently bought a Asustor AS-302T NAS, which is an absolutely brilliant solution for the home. One of it's most impressive features is that you can install apps which extends the ordinary behavior of a NAS. And if you are a developer you can also create your own apps.
While apps are fun, I have more interest in using my NAS as a kitchen-sink for my personal nodejs projects. In short I want to run nodejs application that I can then call from various other machines around the house. My own mini-cloud for IOT experiments.
Installing, one click only
Having installed NodeJS through App-Central I am at a loss how exactly to start using NodeJS on my NAS. The whole installation is essentially an on/off switch with no options or visible settings at all. I can find no documentation on practical tasks like uploading a nodejs application, deal with access rights or even execute it.
Under Windows or OS-X I would use npm via the command-line or shell, but Asustor is a purely html based interface (with the exception of XBMC through HDMI).
Why offer to users the option of installing NodeJS -if it's impossible to actually use it?
So my question has three aspects to it:
How do i get access to npm on my Asustor NAS
How do i get my NodeJS application running
Is it possible to run my application as a service (executed when the NAS boots)?
From the ASUSTOR Developer's Guide: apps are installed into
/usr/local/AppCentral/$APP_NAME.
NodeJS executables will be at path /usr/local/AppCentral/nodejs/bin/node and /usr/local/AppCentral/nodejs/bin/npm.
You can login to NAS via SSH and add them to PATH variable, or create symlinks...
I'm also searching for solution how to run them as a service (daemon), maybe an /etc/init.d script might help.

Some questions on node.js development environment and deployment strategy

I'm new to node and reading some books about it. Now I think it's time to do some dev stuff with it. I'm planning to implement a little project which I want to deploy in the cloud (AWS, Heroku, ...).
What I still haven't figured out are following points (I have a MacBook Pro with OS X 10.7):
which dev environment should I use? I thought about Aptana Studio (no node support as far as I've seen) and transferring the files via ssh to a local VirtualBox CentOS 6.3 machine which has node.js and some modules installed on it
is there any good deployment strategy for hosting my app in the cloud? For example, if I'm developing with Aptana Studio, I don't think there is a plugin which let's you deploy your code on some virtual server in the AWS or Heroku cloud, isn't it?
Thanks in advance!
I don't use an IDE per-se. I get by with just Sublime Text for my editor.
The deployment process will depend on where you host your site. I am not sure about Heroku, but with Nodejitsu it's just as simple as running "jitsu deploy" from the terminal and that's it.
If you host the site on your own on a Linux box (i.e. without Heroku or Nodejitsu) you need to account for how to make sure the site restarts after the machine reboots, or after a crash. I wrote about this on my blog. It's doable but somewhat of a chore: http://hectorcorrea.com/blog/running-a-node-js-web-site-in-production-a-beginners-guide
You can and should develop and run your application locally on your mac. Dealing with 2 machines, 2 OSes, and constant file transfers is a nuisance in development and offers no benefit. It also cripples nice things like fsevents for watching files and good text editor integration.
If you are into the whole IDE thing, perhaps consider https://c9.io/
There are several cloud Platform as a Service companies you could consider
http://nodejitsu.com/
https://devcenter.heroku.com/articles/nodejs
https://www.dotcloud.com/
http://www.cloudfoundry.com/
http://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/
Here's some blog posts reviewing some of these PaaS offerings
http://mrdanadams.com/2012/node-js-paas-hosting-services/
http://ocdevel.com/blog/nodejs-paas-comparison
In terms of deployment, most of these PaaS companies are going to integrate with npm and github, so deployment is going to take no more than a handful of commands at most.
Thanks for your help!
After doing a lot of research on the topics you've posted, I just wanted to let you know what my setup for developing node applications now looks like:
Sublime Text 2 Text-Editor with Package Manager and following plugins: git, nodejs, SublimeLinter (BTW: are there some other "essential" plugins you can not live without?)
iTerm 2 Terminal for all console work (execute node-inspector, ssh to server etc.)
node.js, npm and additional modules which I want to use for my app
Running everything local on my MacBook Pro. As far as I could test this solution, it seems that it runs very smoothly but most notably: FAST :-)
Regarding node deployment, I take Heroku and nodejitsu into account due to low costs, few administration efforts and features like auto-scaling etc. The only drawback of Heroku is the missing websocket support, which I intend to use natively in my app.
Best regards!

Resources