To run a Python script in PowerShell, simply invoke the Python interpreter followed by the script’s filename in a command line.
python your_script.py
Setting Up Python in PowerShell
Installing Python
Choosing the Right Version of Python
Before you can run Python in PowerShell, you need to choose the appropriate version of Python. It’s crucial to select Python 3.x, as Python 2 has reached its end of life and is no longer supported. Visit the official Python website to determine which version suits your needs best, usually the latest stable release.
Installation Steps
To install Python on your Windows machine, follow these simple steps:
- Download the Python installer from the official [Python website](https://www.python.org/downloads/).
- Run the installer. Ensure that you check the box for «Add Python to PATH.» This step is essential for enabling PowerShell to recognize the Python command.
- Follow the prompts to complete the installation.
Configuring Python in PowerShell
Setting Environment Variables
After installation, it’s good practice to make sure PowerShell can find the Python executable. If you forgot to check the «Add Python to PATH» option, you can manually add it.
Open your PowerShell window and run the following command to append Python’s installation path:
$env:Path += ";C:\Path\To\Python"
Make sure to replace `C:\Path\To\Python` with the actual installation path of Python.
Verifying the Installation
Once Python is installed and configured, verify the installation by running this command in PowerShell:
python --version
If correctly installed, this command will display the version of Python that is currently in use.
Python vs PowerShell: Choosing Your Scripting Champion
Running Python in PowerShell: Basic Approach
Using the Python Interactive Shell
You can easily access Python’s interactive shell by simply typing `python` in your PowerShell window. This shell allows you to execute Python commands one at a time, which is helpful for testing and debugging.
Running a Simple Python Command
Running quick Python commands in PowerShell is simple and powerful. For instance, if you wish to print «Hello, World!» directly from PowerShell, you can do this:
python -c "print('Hello, World!')"
This command is a nifty way to execute small snippets of Python code without creating a whole script file.
Function in PowerShell with Parameters: A Quick Guide
Running Python Scripts from PowerShell
Creating a Python Script
To run Python scripts from PowerShell, you’ll first need to create a script. Here’s how you can write your first Python script named `hello.py`.
Open a text editor and write the following code:
# hello.py
print("Hello from Python script!")
Next, save this file as `hello.py` in a directory where you can easily access it later.
Executing the Python Script in PowerShell
With your script in place, you can now execute it. Just navigate to the directory containing your script in PowerShell and run:
python hello.py
You should see the output:
Hello from Python script!
Running Python Scripts with Arguments
Running scripts that require input arguments is also straightforward. For instance, you can create a script, `greet.py`, that takes a name as an argument:
# greet.py
import sys
print(f"Hello, {sys.argv[1]}!")
You can run this script from PowerShell like so:
python greet.py Alice
The output will be:
Hello, Alice!
Mastering NotIn in PowerShell for Efficient Filtering
Advanced Techniques for Running Python in PowerShell
Running Python Scripts in the Background
Sometimes, you may want to run a Python script without your PowerShell window being occupied. You can do this using the `Start-Process` command:
Start-Process python -ArgumentList "my_script.py"
This command runs `my_script.py` in the background, allowing you to use PowerShell for other tasks while the script executes.
Error Handling with Try/Catch
To ensure your scripts run smoothly, implementing error handling in PowerShell can be beneficial. Here’s an example using a try/catch block:
try {
python my_script.py
} catch {
Write-Host "An error occurred: $_"
}
This structure captures any errors that occur during execution and allows you to handle them gracefully.
Python Run PowerShell Command: A Quick Guide
Common Issues and Troubleshooting
Python Not Recognized Error
If you encounter a «Python is not recognized» error, it’s likely due to an issue with your environment path. Double-check that Python is correctly added to your system’s PATH. You can do this in the System Environment Variables settings in Windows.
Dependency Issues
If your Python script depends on certain packages, you may need to install them first. Use `pip`, Python’s package installer, to install any necessary packages:
pip install package_name
Ensure that you have a solid understanding of the packages your script requires before running it.
Get Path in PowerShell: A Quick Guide to File Paths
Conclusion
You’ve successfully learned how to run Python in PowerShell, from setup through execution and troubleshooting. Integrating Python with PowerShell opens doors to powerful automation and scripting capabilities. Embrace the blend of these technologies to enhance your productivity.
Invoke-PowerShell: Mastering Command Execution Effortlessly
Call to Action
To further improve your skills, consider signing up for a course focused on PowerShell and Python integration. We offer concise and practical tutorials that empower you to become proficient in using both tools effectively. Stay tuned for more insightful articles and resources!
Mastering Test-Connection in PowerShell: A Simple Guide
Additional Resources
- For further reading, check out the official [Python documentation](https://docs.python.org/3/).
- Access the [PowerShell documentation](https://docs.microsoft.com/en-us/powershell/) for additional scripting tips and tricks.
To run Python scripts, most commonly, you can use:
-
Command line interface
-
Integrated development environment (IDE)
-
Interactive mode
The following guide is for using the PowerShell command line interface as a Python interpreter.
Running Python commands from PowerShell is a common task that combines Python’s versatility with PowerShell’s powerful scripting capabilities. This tutorial covers:
-
Installing Python
-
Creating a simple Python script
-
Running the Python script from PowerShell
What is PowerShell?
Windows PowerShell is a command-line shell and full-featured scripting language developed by Microsoft for task automation and configuration management.
PowerShell is available on Windows, macOS, and Linux, while PowerShell Core is open-source and cross-platform.
On Windows, compared to the default Command Prompt (cmd), which offers basic file and system operations through simple text commands, PowerShell is a more powerful tool. It works with objects rather than text streams, letting you manipulate structured data.
PowerShell can handle complex automation, remote system management, and integration with other Microsoft technologies.
PowerShell on Windows
Tutorial on how to run a Python script in PowerShell
1. Installing Python
To run Python scripts, you first need to have Python installed on your system.
-
Download the installer: Visit the official Python website at python.org and download the latest version.
-
Run the Installer: Execute the downloaded installer. During installation, check Add Python to PATH. It’s crucial as it allows you to run Python from any command line interface, including PowerShell. Also, ensure the pip is included in the installation components.
-
Verify the installation: After installation, open PowerShell and type:
python --version
pip --version
If Python is installed correctly, this command will display the Python version.
2. Creating a simple Python script
Let’s create a Python script that sends a request to retrieve your IP address.
The script uses the requests library to send an HTTP GET request to https://ip.oxylabs.io and prints your public IP address.
Open your preferred text editor and install the requests library:
Write the code:
# ip_check.py
import requests
def get_public_ip():
try:
response = requests.get('https://ip.oxylabs.io')
if response.status_code == 200:
print(f"Your IP address: {response.text.strip()}")
else:
print("Failed to retrieve IP address.")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
get_public_ip()
The Python script checks if the request is successful (status code 200) and prints an error message if the request fails.
The script also catches and handles any exceptions that occur during the request and prints the error message.
Save the script file as ip_check.py in a directory of your choice.
3. Running the Python script from PowerShell
Now, let’s execute the Python file using PowerShell.
In PowerShell, specify the directory where ip_check.py is located:
Run the script:
You should see a similar output:
Your public IP address: 124.45.65.80
Using proxies for sending HTTP requests
If you need to send HTTP requests to get content (not only a response) from a web page, the process above requires an addition – proxies.
Proxies serve as intermediaries between your scraping tool and the target website, masking your actual IP address. Such anonymity is crucial for large-scale scraping projects as websites often implement IP-based limiting or blocking mechanisms.
By rotating through multiple proxies, you can distribute requests across different IP addresses, making your scraping activities appear as regular user traffic from diverse locations.
Using proxies enables you to bypass geographical restrictions, accessing region-specific content that might otherwise be unavailable. This capability is invaluable for market research, pricing analysis, or content aggregation.
Things to note when choosing proxies
-
Residential proxies are the most popular proxy type. They are suitable for most scenarios, while datacenter proxies are faster and more affordable but prone to detection by target websites.
-
You can integrate proxies on Windows or any other OS through your system settings or from the web scraper’s side when sending requests for more control.
-
Free proxies for smaller tasks are a good idea. However, maintaining a quality proxy pool is expensive. Therefore, the wisest approach is to look for a paid proxy service provider that also offers some free proxies.
Wrap up
By following these steps, you can run Python scripts with PowerShell. This integration lets you leverage Python commands within the Windows environment, enhancing your scripting and automation tasks.
Web scraping with PowerShell is feasible, but Python web scraping using, for example, an IDE is way more convenient. Anyway, among many Python use cases, data manipulation is its most prominent feature.
About the author
Augustas Pelakauskas
Senior Technical Copywriter
Augustas Pelakauskas was a Senior Technical Copywriter at Oxylabs. Coming from an artistic background, he is deeply invested in various creative ventures — the most recent being writing. After testing his abilities in freelance journalism, he transitioned to tech content creation. When at ease, he enjoys the sunny outdoors and active recreation. As it turns out, his bicycle is his fourth-best friend.
All information on Oxylabs Blog is provided on an «as is» basis and for informational purposes only. We make no representation and disclaim all liability with respect to your use of any information contained on Oxylabs Blog or any third-party websites that may be linked therein. Before engaging in scraping activities of any kind you should consult your legal advisors and carefully read the particular website’s terms of service or receive a scraping license.
Related articles
ISO/IEC 27001:2017 certified products:
Scale up your business with Oxylabs®
Forget about complex web scraping processes
Choose Oxylabs’ advanced web intelligence collection solutions to gather real-time public data hassle-free.
-
Run Python in PowerShell Using
py
Command -
Run Python in PowerShell Using
./<filename>.py
-
Run Python in PowerShell Using
./<filename>.py
in a New Window -
Run Python in PowerShell Using
python
Command -
Conclusion
While Python comes with its own interactive shell, sometimes you may want to run Python scripts or execute Python commands within other environments, such as PowerShell on Windows.
This integration allows you to leverage Python’s capabilities alongside other functionalities provided by PowerShell, enhancing your workflow and productivity.
PowerShell is a command-line shell and scripting language developed by Microsoft for task automation and configuration management.
It provides access to various system functionalities and administrative tasks on Windows.
By running Python scripts in PowerShell, you can combine the strengths of both Python and PowerShell, enabling seamless interaction with Windows system components and resources.
In this tutorial, we will look into the multiple methods to run the Python script or .py
files in Windows PowerShell. The requirement to run a Python script on a machine is to have Python installed in it. We can check the installed version of Python 2 or Python 3 in Windows PowerShell with the following commands.
Python 2:
Python 3:
If the required version of Python is not installed, it can be downloaded and installed from this link. Once we have the required version of Python, we can run the Python script in Windows PowerShell in the following ways.
Run Python in PowerShell Using py
Command
We can run the Python script in PowerShell using the py
command. To run the script using py
command, we will need to mention the version of Python required to run the script and the name of the script file.
The example command below demonstrates how to run the Python script main.py
in Windows PowerShell using py
command.
But first, we have to navigate to the directory containing the file you want to open. Use the cd
command followed by the path to the directory where your file is located.
If the file is located in a directory on your Desktop called “PythonScripts,” for example, you would type:
cd C:\Users\YourUsername\Desktop\PythonScripts
Here is the code the Python script file:
main.py
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
name = input("Enter your name: ")
greet(name)
input("Press Enter to exit...")
This Python script showcases running Python code within the PowerShell environment. It defines a greet()
function that takes a name as input and prints a personalized greeting message.
The __name__ == "__main__"
block ensures that the greet()
function is executed when the script is run directly.
Upon execution, the script prompts the user to enter their name using the input()
function and then calls the greet()
function with the entered name as an argument.
For Python 2:
For Python 3:
Output:
The python script was able to run in PowerShell platform.
Run Python in PowerShell Using ./<filename>.py
We can also execute the Python script through Windows PowerShell using the ./
before the script name.
Normally, It will open a new window and will show the output of the script and close. The problem that can occur in this method is that the user will not be able to see the output of the script, as the output window will close after the execution of the script.
The solution to this problem is to use the input()
method at the end of the script. As the input()
method waits for the user to enter the input value. Therefore the output window will not close and will remain open until the user does not press the Enter key.
But, it won’t necessarily open a new window by default. The behavior depends on various factors such as the configuration of your system, your default programs, or any specific settings you might have.
Here is the code the Python script file:
main.py
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
name = input("Enter your name: ")
greet(name)
input("Press Enter to exit...")
We can use the following command to run the Python script main.py
through Windows PowerShell.
Output:
In this case, it does not open a new window to execute the Python script.
Run Python in PowerShell Using ./<filename>.py
in a New Window
To intentionally run the Python in PowerShell, we can execute it through the code below.
This command explicitly specifies the py
command as the process to start and passes the arguments -3
(to use Python 3) and ./main.py
(the path to the Python script) using the -ArgumentList
parameter.
This way, PowerShell correctly understands the arguments and executes the Python script using the Python 3 interpreter in a new window.
Here is the code the Python script file:
main.py
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
name = input("Enter your name: ")
greet(name)
input("Press Enter to exit...")
Command:
Start-Process py -ArgumentList "-3", "./main.py"
When you run Start-Process py -ArgumentList "-3", "./main.py"
, PowerShell starts a new process using the Python interpreter (py
) with the specified arguments (-3
for Python 3 and ./main.py
for the path to the Python script), effectively executing the Python script main.py
in a separate window.
Output:
A new window opened and executed the code. When the code is done executing its commands, the window will automatically close.
In this case, it does not close yet due to input()
method waiting for the input of the user.
Run Python in PowerShell Using python
Command
Another way to run Python scripts in PowerShell is by directly invoking the Python interpreter (python.exe
) with the script’s filename as an argument.
This method is straightforward and does not involve any additional commands.
main.py
def greet(name):
print(f"Hello, {name}!")
if __name__ == "__main__":
name = input("Enter your name: ")
greet(name)
input("Press Enter to exit...")
Here’s how you can do it:
When you run python main.py
in PowerShell, it will start the Python interpreter and execute the script main.py
, displaying any output in the PowerShell console.
Output:
This method is simple and commonly used for running Python scripts in PowerShell.
Conclusion
The integration of Python scripts into PowerShell environments offers a versatile approach to executing code and automating tasks on Windows systems.
By leveraging Python’s capabilities alongside PowerShell’s administrative functionalities, users can streamline workflows and enhance productivity.
Whether executing scripts directly with py
commands, opening scripts in new windows, or invoking Python explicitly with the python
command, PowerShell provides flexible options for running Python code seamlessly within the Windows ecosystem.
These methods cater to diverse user preferences and scenarios, making Python-PowerShell integration a valuable tool for developers, administrators, and system users alike.
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
You can run Python in PowerShell the same way as from the command bar.
Run PowerShell Command as Admin
First, you have to start PowerShell as Admin. To do it, just click the magnifying glass on the Windows Toolbar and enter “powershell”.
Next, right-click the icon and run it as administrator.
Run Python code
Now, when you have the PowerShell window open, you can start the Python interpreter by typing “python”.
Run Python Script
In the previous section, you saw a simple text message that was executed in the python interpreter, using PowerShell.
To leave the Python interpreter, press Ctrl + Z and then Enter.
Navigate to the directory where your script is located and use this command:
It will run the script that is inside the script.py file.
print(‘Hello world from the script!’) |
You can also run a script without changing the current dictionary, by specifying an absolute path to a file. You can use both forward-slash (/) and backslash (\).
Run Script with Arguments
When you run Excel scripts, you can pass arguments from the command line. Take a look at this code from the sum.py file:
import sys def sum(a, b): print(«Your sum is», a + b) if __name__ == «__main__»: a = int(sys.argv[1]) b = int(sys.argv[2]) sum(a, b) |
It takes two numbers from the command line (sys.argv[1] and sys.argv[1]) and sum them returning text and the addition result. sys.argv[0] is the first argument of our entry, which is the name of a script (sum.py).
Running Python scripts from PowerShell is a powerful way to integrate Python’s capabilities into a Windows environment. Before diving into how to execute a Python script from PowerShell, it’s important to ensure Python is installed on your Windows machine.
Installing Python on Windows
If Python isn’t already installed, typing `python` into the Command Prompt (CMD) will redirect you to the Microsoft Store, where you can download and install the latest release of Python.
Once installed, typing `python` in CMD will successfully launch the Python interpreter.
Creating a Simple Python Script
Let’s start by creating a basic Python script that takes a command-line argument and prints it. Here’s a simple example:
import sys # Takes the first argument after the script name input_arg = sys.argv[1] print(f"Received argument: {input_arg}")
This script uses the `sys` module to access command-line arguments passed to the script. The script then prints the first argument (`sys.argv[1]`).
You can also check how to deploy and run a Python script on a Windows 10, 64-bit machine that doesn’t have Python installed.
Running the Python Script from PowerShell
To execute this Python script from PowerShell, the paths to the Python executable and the script file need to be specified correctly. Here’s how you can modify the provided PowerShell script for a Windows environment:
$pythonProgramPath = cmd /c "where python" '2>&1' $pythonScriptPath = "C:\Path\To\Script\main.py" $arg = "hello" $pythonOutput = & $pythonProgramPath $pythonScriptPath $arg $pythonOutput
To get the path of your Python installation is quite easy as this usually reflects either:
- C:\Python36
- C:\Users\(Your logged in User)\AppData\Local\Programs\Python\Python36
To easily find where Python is installed, run the following command:
By defining the Python execution path dynamically with cmd /c «where python» ‘2>&1’, we ensure the correct Python location is used.
Next, `$pythonScriptPath` holds the full path to the Python script you want to run, `main.py`.
`$arg`, is a variable that stores the argument we want to pass to our Python script. In this example, it’s the string `»hello»`. Remember the script requires an argument to function correctly.
The `&` operator in PowerShell executes a command stored in a variable. Here, it runs the Python executable with the script path and argument as parameters.
The output from the Python script (`print` statement) is captured in the `$pythonOutput` variable in PowerShell.
`$pythonOutput` displays the result from the Python script in the PowerShell console.
Conclusion
Integrating Python scripts into PowerShell workflows allows you to leverage Python’s extensive capabilities in a Windows environment.
By correctly setting up the paths and understanding how to pass arguments from PowerShell to Python, you can create powerful automation scripts and tools that combine the strengths of both languages. This approach is particularly useful for system administrators, developers, and IT professionals looking to streamline their workflows and automate repetitive tasks.
Join Our Tech CommunityElevate your tech game! Subscribe to our blog for succinct guides, expert insights, and the latest trends in application packaging.Subscribe Now!
Written by
Alex Marin
Application Packaging and SCCM Deployments specialist, solutions finder, Technical Writer at Advanced Installer.