Table of Contents
2. Use Virtual Environments
3. Install and Use pip, setuptools, and wheel
4. Choose a Code Editor or IDE
5. Optional: Use pyenv for Managing Python Versions
6. Install Useful Development Tools
Home System Tutorial LINUX Setting up a Development Environment on Linux for Python

Setting up a Development Environment on Linux for Python

Aug 03, 2025 am 12:26 AM

Install Python and essential tools using your distribution’s package manager, ensuring python3-venv and python3-dev are included for environment isolation and C extensions. 2. Always use virtual environments by running python3 -m venv myproject_env and activate with source myproject_env/bin/activate to isolate dependencies. 3. Upgrade pip, setuptools, and wheel in each environment and manage project packages via pip install, saving them with pip freeze > requirements.txt for reproducibility. 4. Choose a code editor like VS Code (install via sudo snap install --classic code and add the Python extension) or PyCharm for full IDE support. 5. Optionally, use pyenv to manage multiple Python versions by installing it via curl https://pyenv.run | bash, configuring shell paths, then installing and setting versions with pyenv install and pyenv global. 6. Enhance development with tools like Black, isort, ruff, and pytest installed via pip, and integrate them into your workflow for formatting, import sorting, linting, and testing—ensuring a clean, maintainable, and professional-grade Python environment on Linux.

Setting up a Development Environment on Linux for Python

Setting up a Python development environment on Linux is straightforward, but doing it right ensures you avoid dependency conflicts and have a clean, maintainable setup. Here’s how to do it properly.

Setting up a Development Environment on Linux for Python

1. Install Python and Essential Tools

Most Linux distributions come with Python pre-installed, but it's best to use a recent version. Start by checking your current version:

python3 --version

If you're on an older version or don't have it, install the latest Python from your distribution's package manager.

Setting up a Development Environment on Linux for Python

On Ubuntu/Debian:

sudo apt update
sudo apt install python3 python3-pip python3-venv python3-dev

On Fedora/RHEL:

Setting up a Development Environment on Linux for Python
sudo dnf install python3 python3-pip python3-venv python3-devel

On Arch Linux:

sudo pacman -S python python-pip

Also install build-essential (Ubuntu) or equivalent to compile packages:

sudo apt install build-essential  # Ubuntu/Debian

python3-venv is critical for creating isolated environments. python3-dev is needed for some C extensions in packages like numpy or psycopg2.


2. Use Virtual Environments

Never install packages globally. Always use virtual environments to isolate project dependencies.

Create a virtual environment:

python3 -m venv myproject_env

Activate it:

source myproject_env/bin/activate

You’ll see (myproject_env) in your shell prompt. Now any pip install goes into this environment only.

To deactivate:

deactivate

Pro tip: Name your environment .venv and add it to .gitignore — it's a common convention.


3. Install and Use pip, setuptools, and wheel

Make sure pip is up to date:

pip install --upgrade pip

These tools help install and package Python projects:

  • pip: installs packages
  • setuptools: builds packages
  • wheel: installs pre-built packages efficiently

Install them in your activated environment:

pip install --upgrade pip setuptools wheel

Now you can install packages like:

pip install requests django flask numpy

Use a requirements.txt file to save dependencies:

pip freeze > requirements.txt

And to restore them on another machine:

pip install -r requirements.txt

4. Choose a Code Editor or IDE

Popular choices on Linux:

  • VS Code – Lightweight, great Python support via extensions (like Pylance, Python extension by Microsoft).
  • PyCharm – Full-featured IDE (Community Edition is free).
  • Vim/Neovim or Emacs – For terminal lovers, with plugins for linting, autocompletion.
  • Sublime Text or Atom – Fast and customizable.

For VS Code:

sudo snap install --classic code

Then install the official Python extension for debugging, linting, and IntelliSense.


5. Optional: Use pyenv for Managing Python Versions

If you need multiple Python versions (e.g., 3.9, 3.11, 3.12), use pyenv.

Install pyenv:

curl https://pyenv.run | bash

Add to your shell config (~/.bashrc or ~/.zshrc):

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Reload your shell:

source ~/.bashrc

Install and set a Python version:

pyenv install 3.11.0
pyenv global 3.11.0  # or `pyenv local 3.11.0` for per-project

Now python points to the version managed by pyenv.


6. Install Useful Development Tools

Enhance your workflow with these tools:

  • Black – Code formatter
  • isort – Sorts imports
  • flake8 or ruff – Linter
  • pytest – Testing framework

Install them in your virtual environment:

pip install black isort ruff pytest

Use them:

black .
ruff check .
pytest

You can integrate these into your editor or use them in pre-commit hooks.


That’s it. You now have a solid, professional-grade Python development setup on Linux. Use virtual environments religiously, keep your tools updated, and automate linting and formatting early.

Basically: install Python, use venv, manage packages with pip, pick a good editor, and consider pyenv if you juggle versions. Not flashy, but rock solid.

The above is the detailed content of Setting up a Development Environment on Linux for Python. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The Ultimate Guide to High-Performance Gaming on Linux The Ultimate Guide to High-Performance Gaming on Linux Aug 03, 2025 am 05:51 AM

ChoosePop!_OS,Ubuntu,NobaraLinux,orArchLinuxforoptimalgamingperformancewithminimaloverhead.2.InstallofficialNVIDIAproprietarydriversforNVIDIAGPUs,ensureup-to-dateMesaandkernelversionsforAMDandIntelGPUs.3.EnabletheperformanceCPUgovernor,usealow-latenc

What are the main pros and cons of Linux vs. Windows? What are the main pros and cons of Linux vs. Windows? Aug 03, 2025 am 02:56 AM

Linux is suitable for old hardware, has high security and is customizable, but has weak software compatibility; Windows software is rich and easy to use, but has high resource utilization. 1. In terms of performance, Linux is lightweight and efficient, suitable for old devices; Windows has high hardware requirements. 2. In terms of software, Windows has wider compatibility, especially professional tools and games; Linux needs to use tools to run some software. 3. In terms of security, Linux permission management is stricter and updates are convenient; although Windows is protected, it is still vulnerable to attacks. 4. In terms of difficulty of use, the Linux learning curve is steep; Windows operation is intuitive. Choose according to requirements: choose Linux with performance and security, and choose Windows with compatibility and ease of use.

Understanding RAID Configurations on a Linux Server Understanding RAID Configurations on a Linux Server Aug 05, 2025 am 11:50 AM

RAIDimprovesstorageperformanceandreliabilityonLinuxserversthroughvariousconfigurations;RAID0offersspeedbutnoredundancy;RAID1providesmirroringforcriticaldatawith50�pacityloss;RAID5supportssingle-drivefailuretoleranceusingparityandrequiresatleastthre

Linux how to enable and disable services at boot Linux how to enable and disable services at boot Aug 08, 2025 am 10:23 AM

To manage the startup of Linux services, use the systemctl command. 1. Check the service status: systemctlstatus can check whether the service is running, enabled or disabled. 2. Enable the service startup: sudosystemctlenable, such as sudosystemctlenablenginx. If it is started at the same time, use sudosystemctlenable--nownginx. 3. Disable the service startup: sudosystemctldisable, such as sudosystemctldisablecups. If it is stopped at the same time, use sudosystemctldisabl

Setting up a Development Environment on Linux for Python Setting up a Development Environment on Linux for Python Aug 03, 2025 am 12:26 AM

InstallPythonandessentialtoolsusingyourdistribution’spackagemanager,ensuringpython3-venvandpython3-devareincludedforenvironmentisolationandCextensions.2.Alwaysusevirtualenvironmentsbyrunningpython3-mvenvmyproject_envandactivatewithsourcemyproject_env

How to set up a firewall in Linux How to set up a firewall in Linux Aug 22, 2025 pm 04:41 PM

UsefirewalldoriptablestosecureLinux;firewalldisuser-friendlywithzonesandservices,idealforCentOS/RHEL/Fedora,whileiptablesoffersgranularcontrolforDebian/Ubuntu.Enablefirewalld:sudosystemctlstartfirewalld,allowserviceslikeSSHwith--add-service=ssh,orope

Linux how to list all running processes Linux how to list all running processes Aug 08, 2025 am 06:42 AM

Usepsauxforacompletesnapshotofallrunningprocesses,showingdetailedinformationlikeUSER,PID,CPU,andmemoryusage.2.Usetoporhtopforreal-timemonitoringofprocesseswithdynamicupdates,wherehtopoffersamoreintuitiveinterface.3.UsepgreporpidoftoquicklyfindthePIDs

How to clean up your Linux system How to clean up your Linux system Aug 22, 2025 am 07:42 AM

Removeunusedpackagesanddependencieswithsudoaptautoremove,cleanpackagecacheusingsudoaptcleanorautoclean,andremoveoldkernelsviasudoaptautoremove--purge.2.Clearsystemlogswithsudojournalctl--vacuum-time=7d,deletearchivedlogsin/var/log,andempty/tmpand/var

See all articles