PyDev and Eclipse work together to create an excellent IDE for Python which is updated regularly by the hardworking Python community. TextWrangler is a free download from the App Store. Python doesn’t have built-in mobile development capabilities, but there are packages you can use to create mobile applications, like Kivy, PyQt, or even Beeware’s Toga library. These libraries are all major players in the Python mobile space. However, there are some benefits you’ll see if you choose to create mobile applications with Kivy.
- Make A Mac App With Python Free
- Upgrade Python On Mac
- Install Python For Mac
- Create A Mac App With Python
In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer. The web app you configure uses a free App Service tier, so you incur no costs in the course of this article.
If you prefer to deploy apps through an IDE, see Deploy Python apps to App Service from Visual Studio Code.
Prerequisites
- Azure subscription - create one for free
- Python 3.7 (Python 3.6 is also supported)
- Azure CLI 2.0.80 or higher. Run
az --version
to check your version.
Download the sample
In a terminal window, run the following command to clone the sample application to your local computer.
Then go into that folder:
The repository contains an application.py file, which tells App Service that the code contains a Flask app. For more information, see Container startup process and customizations.
Run the sample
In a terminal window, use the commands below (as appropriate for your operating system) to install the required dependencies and launch the built-in development server.
Open a web browser, and go to the sample app at http://localhost:5000/
. The app displays the message Hello World!.
In your terminal window, press Ctrl+C to exit the web server.
Sign in to Azure
The Azure CLI provides you with many convenient commands that you use from a local terminal to provision and manage Azure resources from the command line. You can use commands to complete the same tasks that you would through the Azure portal in a browser. You can also use CLI commands in scripts to automate management processes.
To run Azure commands in the Azure CLI, you must first sign in using the az login
command. This command opens a browser to gather your credentials.
Deploy the sample
The az webapp up
command creates the web app on App Service and deploys your code.
In the python-docs-hello-world folder that contains the sample code, run the following az webapp up
command. Replace <app-name>
with a globally unique app name (valid characters are a-z
, 0-9
, and -
).
The --sku F1
argument creates the web app on the Free pricing tier. You can omit this argument to use a premium tier instead, which incurs an hourly cost.
You can optionally include the argument -l <location-name>
where <location_name>
is an Azure region such as centralus, eastasia, westeurope, koreasouth, brazilsouth, centralindia, and so on. You can retrieve a list of allowable regions for your Azure account by running the az account list-locations
command.
The az webapp up
command may take a few minutes to completely run. While running, it displays information similar to the following example, where <app-name>
will be the name you provided earlier:
Note
The az webapp up
command does the following actions:
Create a default resource group.
Create a default app service plan.
Create an app with the specified name.
Zip deploy files from the current working directory to the app.
Browse to the app
Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net
.
The Python sample code is running a Linux container in App Service using a built-in image.
Congratulations! You've deployed your Python app to App Service on Linux.
Redeploy updates
In your favorite code editor, open application.py and update the hello
function as follows. This change adds a print
statement to generate logging output that you work with in the next section.
Save your changes and exit the editor.
Redeploy the app using the az webapp up
command again:
This command uses values that are cached in the .azure/config file, including the app name, resource group, and App Service plan.
Once deployment has completed, switch back to the browser window open to http://<app-name>.azurewebsites.net
and refresh the page, which should display the modified message:
Tip
Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. For more information, see Deploy Python apps to App Service from Visual Studio Code.
Stream logs
You can access the console logs generated from inside the app and the container in which it runs. Logs include any output generated using print
statements.
Make A Mac App With Python Free
To stream logs, run the following command:
Refresh the app in the browser to generate console logs, which should include lines similar to the following text. If you don't see output immediately, try again in 30 seconds.
You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker
.
To stop log streaming at any time, type Ctrl
+C
.
Manage the Azure app
Go to the Azure portal to manage the app you created. Search for and select App Services.
Select the name of your Azure app.
You see your app's Overview page. Here, you can perform basic management tasks like browse, stop, start, restart, and delete.
The App Service menu provides different pages for configuring your app.
Clean up resources
In the preceding steps, you created Azure resources in a resource group. The resource group has a name like 'appsvc_rg_Linux_CentralUS' depending on your location. If you use an App Service SKU other than the free F1 tier, these resources incur ongoing costs (see App Service pricing).
If you don't expect to need these resources in the future, delete the resource group by running the following command, replacing <resource-group-name>
with the resource group shown in the output of the az webapp up
command, such as 'appsvc_rg_Linux_centralus'. The command may take a minute to complete.
Next steps
-->In this 5-10 minute introduction to Visual Studio as a Python IDE, you create a simple Python web application based on the Flask framework. You create the project through discrete steps that help you learn about Visual Studio's basic features.
If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free. In the installer, make sure to select the Python development workload.
If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free. In the installer, make sure to select the Python development workload.
Create the project
The following steps create an empty project that serves as a container for the application:
Open Visual Studio 2017.
From the top menu bar, choose File > New > Project.
In the New Project dialog box, enter 'Python Web Project' in the search field on the upper right, choose Web project in the middle list, give the project a name like 'HelloPython', then choose OK.
If you don't see the Python project templates, run the Visual Studio Installer, select More > Modify, select the Python development workload, then choose Modify.
The new project opens in Solution Explorer in the right pane. The project is empty at this point because it contains no other files.
Open Visual Studio 2019.
On the start screen, select Create a new project.
In the Create a new project dialog box, enter 'Python web' in the search field at the top, choose Web Project in the middle list, then select Next:
If you don't see the Python project templates, run the Visual Studio Installer, select More > Modify, select the Python development workload, then choose Modify.
In the Configure your new project dialog that follows, enter 'HelloPython' for Project name, specify a location, and select Create. (The Solution name is automatically set to match the Project name.)
The new project opens in Solution Explorer in the right pane. The project is empty at this point because it contains no other files.
Question: What's the advantage of creating a project in Visual Studio for a Python application?
Answer: Python applications are typically defined using only folders and files, but this simple structure can become burdensome as applications become larger and perhaps involve auto-generated files, JavaScript for web applications, and so on. A Visual Studio project helps manage this complexity. The project (a .pyproj file) identifies all the source and content files associated with your project, contains build information for each file, maintains the information to integrate with source-control systems, and helps you organize your application into logical components.
Question: What is the 'solution' shown in Solution Explorer?
Answer: A Visual Studio solution is a container that helps you manage for one or more related projects as a group, and stores configuration settings that aren't specific to a project. Projects in a solution can also reference one another, such that running one project (a Python app) automatically builds a second project (such as a C++ extension used in the Python app).
Install the Flask library
Web apps in Python almost always use one of the many available Python libraries to handle low-level details like routing web requests and shaping responses. For this purpose, Visual Studio provides a variety of templates for web apps, one of which you use later in this Quickstart.
Here, you use the following steps to install the Flask library into the default 'global environment' that Visual Studio uses for this project.
Expand the Python Environments node in the project to see the default environment for the project.
Right-click the environment and select Install Python Package. This command opens the Python Environments window on the Packages tab.
Enter 'flask' in the search field and select pip install flask from PyPI. Accept any prompts for administrator privileges and observe the Output window in Visual Studio for progress. (A prompt for elevation happens when the packages folder for the global environment is located within a protected area like C:Program Files.)
Expand the Python Environments node in the project to see the default environment for the project.
Right-click the environment and select Manage Python Packages.... This command opens the Python Environments window on the Packages (PyPI) tab.
Enter 'flask' in the search field. If Flask appears below the search box, you can skip this step. Otherwise select Run command: pip install flask. Accept any prompts for administrator privileges and observe the Output window in Visual Studio for progress. (A prompt for elevation happens when the packages folder for the global environment is located within a protected area like C:Program Files.)
Once installed, the library appears in the environment in Solution Explorer, which means that you can make use of it in Python code.
Note
Instead of installing libraries in the global environment, developers typically create a 'virtual environment' in which to install libraries for a specific project. Visual Studio templates typically offer this option, as discussed in Quickstart - Create a Python project using a template.
Question: Where do I learn more about other available Python packages?
Answer: Visit the Python Package Index.
Add a code file
You're now ready to add a bit of Python code to implement a minimal web app.
Right-click the project in Solution Explorer and select Add > New Item.
In the dialog that appears, select Empty Python File, name it app.py, and select Add. Visual Studio automatically opens the file in an editor window.
Copy the following code and paste it into app.py:
You may have noticed that the Add > New Item dialog box displays many other types of files you can add to a Python project, including a Python class, a Python package, a Python unit test, web.config files, and more. In general, these item templates, as they're called, are a great way to quickly create files with useful boilerplate code.
Question: Where can I learn more about Flask?
Answer: Refer to the Flask documentation, starting with the Flask Quickstart.
Run the application
Right-click app.py in Solution Explorer and select Set as startup file. This command identifies the code file to launch in Python when running the app.
Right-click the project in Solution Explorer and select Properties. Then select the Debug tab and set the Port Number property to
4449
. This step ensures that Visual Studio launches a browser withlocalhost:4449
to match theapp.run
arguments in the code.Select Debug > Start Without Debugging (Ctrl+F5), which saves changes to files and runs the app.
A command window appears with the message Running in https://localhost:4449, and a browser window should open to
localhost:4449
where you see the message, 'Hello, Python!' The GET request also appears in the command window with a status of 200.If a browser does not open automatically, start the browser of your choice and navigate to
localhost:4449
.If you see only the Python interactive shell in the command window, or if that window flashes on the screen briefly, ensure that you set app.py as the startup file in step 1 above.
Navigate to
localhost:4449/hello
to test that the decorator for the/hello
resource also works. Again, the GET request appears in the command window with a status of 200. Feel free to try some other URL as well to see that they show 404 status codes in the command window.Close the command window to stop the app, then close the browser window.
Question: What's the difference between the Start Without Debugging command and Start Debugging?
Answer: You use Start Debugging to run the app in the context of the Visual Studio debugger, allowing you to set breakpoints, examine variables, and step through your code line by line. Apps may run slower in the debugger because of the various hooks that make debugging possible. Start Without Debugging, in contrast, runs the app directly as if you ran it from the command line, with no debugging context, and also automatically launches a browser and navigates to the URL specified in the project properties' Debug tab.
Next steps
Upgrade Python On Mac
Congratulations on running your first Python app from Visual Studio, in which you've learned a little about using Visual Studio as a Python IDE!
Because the steps you followed in this Quickstart are fairly generic, you've probably guessed that they can and should be automated. Such automation is the role of Visual Studio project templates. Go through Quickstart - Create a Python project using a template for a demonstration that creates a web app similar to the one you created in this article, but with fewer steps.
Install Python For Mac
To continue with a fuller tutorial on Python in Visual Studio, including using the interactive window, debugging, data visualization, and working with Git, go through Tutorial: Get started with Python in Visual Studio.
To explore more that Visual Studio has to offer, select the links below.
Create A Mac App With Python
- Learn about Python web app templates in Visual Studio.
- Learn about Python debugging
- Learn more about the Visual Studio IDE in general.