How To Install Plotly on Fedora 43

Install Plotly on Fedora 43

Plotly stands as one of the most powerful open-source data visualization libraries available for Python developers today. This interactive graphing library enables you to create stunning, publication-quality charts that users can zoom, pan, and explore in real-time. Whether you’re a data scientist analyzing complex datasets, a researcher presenting findings, or a developer building interactive dashboards, Plotly delivers the tools you need.

Installing Plotly on Fedora 43 might seem daunting at first, but this comprehensive guide breaks down the process into manageable steps. You’ll discover three proven installation methods: using DNF package manager, pip, and conda. Each approach has its strengths, and we’ll help you choose the right one. By the end of this tutorial, you’ll have Plotly running smoothly on your Fedora 43 system and be ready to create your first interactive visualization.

Understanding Plotly and Its Use Cases

Plotly transforms raw data into interactive, web-ready visualizations that engage audiences in ways static images cannot. The library supports dozens of chart types, from basic scatter plots and line graphs to sophisticated 3D surface plots, geographic maps, and statistical charts. What sets Plotly apart is its interactivity—every chart comes with built-in zoom, pan, hover tooltips, and export capabilities right out of the box.

The library integrates seamlessly with Jupyter Notebooks, making it a favorite among data scientists. Plotly also powers Dash, a framework for building analytical web applications entirely in Python. Industries ranging from finance to healthcare rely on Plotly for business intelligence dashboards, scientific research publications, and data journalism projects.

Compared to matplotlib and seaborn, Plotly excels in creating web-based interactive visualizations with minimal code. The Plotly Express module simplifies common plotting tasks into single-line commands. This combination of power and simplicity explains why Plotly has become essential in modern data analysis workflows.

Prerequisites and System Requirements

Hardware Requirements

Your Fedora 43 system needs adequate resources to handle Plotly and data visualization tasks efficiently. A minimum of 2GB RAM and a 1GHz processor will run basic Plotly applications. However, working with larger datasets or creating complex 3D visualizations benefits significantly from 4GB or more RAM. Ensure you have at least 10GB of free disk space to accommodate Python packages, dependencies, and generated visualization files.

Software Requirements

Fedora 43 ships with Python 3.12 pre-installed, meeting Plotly’s requirement for Python 3.8 or higher. You’ll need terminal access with sudo privileges to install system packages. A stable internet connection is essential for downloading packages from repositories. Additionally, keep a modern web browser like Firefox or Chrome installed, as Plotly renders visualizations in HTML format that opens in your default browser.

Checking Existing Python Installation

Before proceeding, verify your Python installation. Open a terminal and run:

python3 --version

This command should display Python 3.12 or higher. Next, check if pip is available:

pip3 --version

If pip isn’t installed, don’t worry—we’ll install it in the following sections.

Preparing Your Fedora 43 System

Updating System Packages

Keeping your system current prevents compatibility issues and ensures security. Update all packages with:

sudo dnf update

This command refreshes package metadata and upgrades outdated software. The process typically takes 5-15 minutes depending on your internet speed and the number of pending updates. Review the proposed changes before confirming.

Installing Development Tools

Python packages sometimes compile C extensions during installation. Install the development tools group to handle these scenarios:

sudo dnf groupinstall "Development Tools"

Then install Python development headers:

sudo dnf install python3-devel

These tools provide compilers and libraries necessary for building Python packages from source. While Plotly itself usually installs without compilation, having these tools ready prevents potential issues with dependencies.

Verifying Internet Connectivity

Test your connection to Fedora repositories:

ping -c 4 download.fedoraproject.org

Successful replies confirm your system can reach package servers. If you’re behind a corporate firewall or proxy, configure your proxy settings in /etc/dnf/dnf.conf before proceeding.

Method 1: Installing Plotly Using DNF Package Manager

Understanding DNF Installation

DNF (Dandified Yum) serves as Fedora’s default package manager, offering system-wide package installation with automatic dependency resolution. This method installs Plotly for all users on your system and integrates with Fedora’s official repositories. The main advantage lies in simplicity—DNF handles everything automatically. The tradeoff is you might not get the absolute latest Plotly version, as Fedora repositories undergo testing before packages reach stable releases.

Searching for Plotly Package

First, confirm Plotly’s availability in Fedora repositories:

dnf search plotly

This command lists available Plotly packages. You’ll see entries like python3-plotly for the main package. View detailed information:

dnf info python3-plotly

This displays the version, size, description, and repository source.

Installing Plotly

Install Plotly with a single command:

sudo dnf install python3-plotly

DNF automatically resolves dependencies, downloading any required libraries. The installation typically completes in 2-5 minutes. Type ‘y’ when prompted to confirm the installation.

Verifying DNF Installation

Confirm Plotly installed correctly:

python3 -c "import plotly; print(plotly.__version__)"

This command imports Plotly and prints its version number. A successful output shows the installed version without errors. Congratulations—Plotly is now ready to use!

Method 2: Installing Plotly Using Pip

Understanding Pip Installation

Pip (Package Installer for Python) connects directly to the Python Package Index (PyPI), giving you access to the latest Plotly releases. This method suits developers who need cutting-edge features or want granular control over their Python environment. Pip installations work on a per-user or per-environment basis, preventing system-wide conflicts.

Installing and Upgrading Pip

Install pip through DNF:

sudo dnf install python3-pip

Verify the installation:

pip3 --version

Upgrade pip to the latest version:

pip3 install --upgrade pip --user

The --user flag installs the upgraded pip in your home directory, avoiding permission issues.

Creating Virtual Environment (Recommended)

Virtual environments isolate Python projects, preventing dependency conflicts between different applications. Create a virtual environment named plotly_env:

python3 -m venv ~/plotly_env

Activate the environment:

source ~/plotly_env/bin/activate

Your terminal prompt changes to show (plotly_env), indicating the active environment. All subsequent pip installations occur within this isolated space.

Installing Plotly with Pip

With your virtual environment activated, install Plotly:

pip install plotly

This downloads and installs the latest stable Plotly version. For the full experience including Plotly Express, pandas support, and additional features:

pip install "plotly[express]"

This syntax installs Plotly with optional dependencies. The installation takes 1-3 minutes depending on your connection speed.

Installing Additional Dependencies

Plotly Express requires pandas for DataFrame support. Install it explicitly if needed:

pip install pandas

NumPy often comes as a pandas dependency but can be installed separately:

pip install numpy

These scientific computing libraries extend Plotly’s capabilities significantly.

Verifying Pip Installation

Test your installation:

python3 -c "import plotly; print(plotly.__version__)"

The command should display the current version without errors. When finished working, deactivate the virtual environment:

deactivate

Your prompt returns to normal, and you exit the isolated environment.

Method 3: Installing Plotly Using Conda

Understanding Conda Installation

Conda excels as a package and environment manager designed specifically for scientific computing workflows. Unlike pip, conda manages both Python packages and system-level dependencies, making it popular among data scientists working with complex scientific libraries. The conda-forge channel provides community-maintained packages including the latest Plotly versions.

Installing Miniconda

Download the Miniconda installer:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

Execute the installer:

bash Miniconda3-latest-Linux-x86_64.sh

Follow the interactive prompts, accepting the license agreement and choosing an installation location. When asked about initializing conda, select ‘yes’. Reload your shell configuration:

source ~/.bashrc

Verify conda installed correctly:

conda --version

Creating Conda Environment

Create a dedicated environment for Plotly work:

conda create -n plotly_env python=3.12

This creates an environment named plotly_env with Python 3.12. Activate the environment:

conda activate plotly_env

Your prompt changes to display (plotly_env), confirming activation.

Installing Plotly via Conda

Install Plotly from conda-forge:

conda install -c conda-forge plotly

The -c conda-forge flag specifies the conda-forge channel, which typically has newer versions than default channels. Conda automatically resolves and installs all dependencies including pandas and numpy. Type ‘y’ to proceed when prompted.

Verifying Conda Installation

Confirm successful installation:

python -c "import plotly; print(plotly.__version__)"

The version number appears without errors. To deactivate the environment later:

conda deactivate

Testing Your Plotly Installation

Creating Your First Plot

Verify everything works by creating a simple visualization. Create a file named test_plotly.py:

import plotly.express as px

# Sample data
df = px.data.iris()

# Create scatter plot
fig = px.scatter(df, x="sepal_width", y="sepal_length", 
                 color="species", title="Iris Dataset")

# Display plot
fig.show()

Run the script:

python test_plotly.py

This code uses Plotly Express to create an interactive scatter plot from the built-in iris dataset. The plot opens automatically in your default browser, demonstrating Plotly’s interactive features like hover tooltips and zoom controls.

Testing in Python Interactive Shell

For quick tests, use Python’s interactive shell:

python3

Then type:

import plotly
print(plotly.__version__)

This confirms Plotly imports without issues. Try a quick visualization:

import plotly.graph_objects as go
fig = go.Figure(data=[go.Scatter(x=[1, 2, 3], y=[4, 5, 6])])
fig.show()

Testing with Jupyter Notebook (Optional)

Jupyter Notebooks provide an excellent environment for interactive data visualization. Install Jupyter:

pip install jupyter

Or with conda:

conda install jupyter

Launch Jupyter:

jupyter notebook

Create a new notebook and run:

import plotly.express as px
fig = px.bar(x=["A", "B", "C"], y=[3, 7, 5])
fig.show()

Plotly renders inline within the notebook.

Saving Visualizations

Export plots to HTML files for sharing:

fig.write_html("my_plot.html")

This creates a standalone HTML file containing your interactive visualization. Recipients can open it in any browser without installing Plotly.

Common Installation Issues and Troubleshooting

ModuleNotFoundError: No module named ‘plotly’

This error indicates Python cannot find Plotly. Common causes include:

  • Installing in one environment but running code in another
  • Using the wrong Python interpreter
  • Installation failed silently

Solution: Verify which Python you’re using:

which python3
python3 -m pip list | grep plotly

This shows your Python path and confirms Plotly appears in installed packages. If using virtual environments, ensure you’ve activated the correct one.

ImportError: Plotly Express requires pandas

Plotly Express needs pandas for DataFrame support. When you see this error, install pandas:

pip install pandas

Alternatively, install Plotly with all optional dependencies:

pip install "plotly[express]"

This ensures all Express features work properly.

Permission Denied Errors

Never use sudo with pip—it can break your system’s Python installation. Instead:

  1. Use virtual environments (recommended)
  2. Install with --user flag: pip install --user plotly
  3. Fix permissions on your virtual environment directory

The virtual environment approach provides the cleanest solution.

Version Conflicts

Dependency conflicts sometimes arise with other packages. Check installed versions:

pip list | grep plotly

Upgrade Plotly to the latest version:

pip install --upgrade plotly

If conflicts persist, create a fresh virtual environment dedicated to your project.

Plots Not Displaying

Visualizations should open automatically in your browser. If they don’t:

  • Check your default browser is set correctly
  • Try a different browser (Firefox, Chrome)
  • For Jupyter notebooks, ensure you’re using compatible versions

In offline environments, explicitly initialize offline mode:

import plotly.offline as pyo
pyo.init_notebook_mode()

Slow Installation or Timeout

Network issues sometimes interrupt package downloads. Solutions:

  • Wait and retry—servers may be temporarily busy
  • Use a different mirror or repository
  • Check firewall settings aren’t blocking package manager traffic
  • Consider using a VPN if repository access is restricted in your region

Best Practices for Managing Plotly

Choosing the Right Installation Method

Select your installation method based on your use case:

Use DNF when:

  • You want simple, system-wide installation
  • You’re setting up Plotly for multiple users
  • You prefer stability over cutting-edge features

Use pip when:

  • You need the latest Plotly version
  • You’re developing Python applications
  • You want isolated project environments

Use conda when:

  • You work with scientific computing packages
  • You need comprehensive dependency management
  • You use other conda packages in your workflow

Avoid mixing package managers. Stick with one method to prevent conflicts and version mismatches.

Keeping Plotly Updated

Check for updates regularly. With DNF:

sudo dnf upgrade python3-plotly

With pip:

pip install --upgrade plotly

With conda:

conda update plotly

Review changelogs before major version upgrades to understand breaking changes. Test updated versions in development environments before upgrading production systems.

Virtual Environment Management

Create separate environments for different projects:

python3 -m venv ~/projects/project1/venv
python3 -m venv ~/projects/project2/venv

Document dependencies in requirements.txt:

pip freeze > requirements.txt

Team members recreate your environment with:

pip install -r requirements.txt

This ensures consistent environments across development teams.

Performance Optimization

When working with large datasets, optimize Plotly’s performance:

  • Use data sampling for initial exploration
  • Limit the number of points in scatter plots (consider datashader for millions of points)
  • Use WebGL rendering for better performance: fig.update_traces(marker=dict(size=2), selector=dict(mode='markers'))
  • Close figure objects when done to free memory

These practices keep visualizations responsive even with substantial data volumes.

Congratulations! You have successfully installed Plotly. Thanks for using this tutorial for installing Plotly on Fedora 43 Linux system. For additional or useful information, we recommend you check the official Plotly website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!
r00t is a dedicated and highly skilled Linux Systems Administrator with over a decade of progressive experience in designing, deploying, and maintaining enterprise-grade Linux infrastructure. His professional journey began in the telecommunications industry, where early exposure to Unix-based operating systems ignited a deep and enduring passion for open-source technologies and server administration.​ Throughout his career, r00t has demonstrated exceptional proficiency in managing large-scale Linux environments, overseeing more than 300 servers across development, staging, and production platforms while consistently achieving 99.9% system uptime. He holds advanced competencies in Red Hat Enterprise Linux (RHEL), Debian, and Ubuntu distributions, complemented by hands-on expertise in automation tools such as Ansible, Terraform, Bash scripting, and Python.

Related Posts