Sanity checks

If you're having problems running your Streamlit app, here are a few things to try out.

Streamlit will maintain backwards-compatibility with earlier Python versions as practical, guaranteeing compatibility with at least the last three minor versions of Python 3.

As new versions of Python are released, we will try to be compatible with the new version as soon as possible, though frequently we are at the mercy of other Python packages to support these new versions as well.

Streamlit currently supports versions 3.8, 3.9, 3.10, 3.11, and 3.12 of Python.

On a Mac or Linux machine, type this on the terminal:

ps -Al | grep streamlit

If you don't see streamlit run in the output (or streamlit hello, if that's the command you ran) then the Streamlit server is not running. So re-run your command and see if the bug goes away.

We try to fix bugs quickly, so many times a problem will go away when you upgrade Streamlit. So the first thing to try when having an issue is upgrading to the latest version of Streamlit:

pip install --upgrade streamlit streamlit version

...and then verify that the version number printed corresponds to the version number displayed on PyPI.

Try reproducing the issue now. If not fixed, keep reading on.

Let's check whether your Python environment is set up correctly. Edit the Streamlit script where you're experiencing your issue, comment everything out, and add these lines instead:

import streamlit as st st.write(st.__version__)

...then call streamlit run on your script and make sure it says the same version as above. If not the same version, check out these instructions for some sure-fire ways to set up your environment.

There are two easy ways to check this:

  1. Load your app in a browser then press Ctrl-Shift-R or ⌘-Shift-R to do a hard refresh (Chrome/Firefox).

  2. As a test, run Streamlit on another port. This way the browser starts the page with a brand new cache. For that, pass the --server.port argument to Streamlit on the command line:

    streamlit run my_app.py --server.port=9876

If you've upgraded to the latest version of Streamlit and things aren't working, you can downgrade at any time using this command:

pip install --upgrade streamlit==1.0.0

...where 1.0.0 is the version you'd like to downgrade to. See Release notes for a complete list of Streamlit versions.

When installed by downloading from python.org, Python is not automatically added to the Windows system PATH. Because of this, you may get error messages like the following:

Command Prompt:

C:\Users\streamlit> streamlit hello 'streamlit' is not recognized as an internal or external command, operable program or batch file.

PowerShell:

PS C:\Users\streamlit> streamlit hello streamlit : The term 'streamlit' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + streamlit hello + ~~~~~~~~~ + CategoryInfo : ObjectNotFound: (streamlit:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

To resolve this issue, add Python to the Windows system PATH.

After adding Python to your Windows PATH, you should then be able to follow the instructions in our Get Started section.

Streamlit includes pyarrow as an install dependency. Occasionally, when trying to install Streamlit from PyPI, you may see errors such as the following:

Using cached pyarrow-1.0.1.tar.gz (1.3 MB) Installing build dependencies ... error ERROR: Command errored out with exit status 1: command: 'c:\users\streamlit\appdata\local\programs\python\python38-32\python.exe' 'c:\users\streamlit\appdata\local\programs\python\python38-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\streamlit\AppData\Local\Temp\pip-build-env-s7owjrle\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cython >= 0.29' 'numpy==1.14.5; python_version<'"'"'3.8'"'"'' 'numpy==1.16.0; python_version>='"'"'3.8'"'"'' setuptools setuptools_scm wheel cwd: None Complete output (319 lines): Running setup.py install for numpy: finished with status 'error' ERROR: Command errored out with exit status 1: command: 'c:\users\streamlit\appdata\local\programs\python\python38-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\streamlit\\AppData\\Local\\Temp\\pip-install-0jwfwx_u\\numpy\\setup.py'"'"'; __file__='"'"'C:\\Users\\streamlit\\AppData\\Local\\Temp\\pip-install-0jwfwx_u\\numpy\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\streamlit\AppData\Local\Temp\pip-record-eys4l2gc\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\streamlit\AppData\Local\Temp\pip-build-env-s7owjrle\overlay' --compile --install-headers 'C:\Users\streamlit\AppData\Local\Temp\pip-build-env-s7owjrle\overlay\Include\numpy' cwd: C:\Users\streamlit\AppData\Local\Temp\pip-install-0jwfwx_u\numpy\ Complete output (298 lines): blas_opt_info: blas_mkl_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries mkl_rt not found in ['c:\\users\\streamlit\\appdata\\local\\programs\\python\\python38-32\\lib', 'C:\\', 'c:\\users\\streamlit\\appdata\\local\\programs\\python\\python38-32\\libs'] NOT AVAILABLE blis_info: No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils customize MSVCCompiler libraries blis not found in ['c:\\users\\streamlit\\appdata\\local\\programs\\python\\python38-32\\lib', 'C:\\', 'c:\\users\\streamlit\\appdata\\local\\programs\\python\\python38-32\\libs'] NOT AVAILABLE # <truncated for brevity> # c:\users\streamlit\appdata\local\programs\python\python38-32\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'define_macros' warnings.warn(msg) running install running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building py_modules sources creating build creating build\src.win32-3.8 creating build\src.win32-3.8\numpy creating build\src.win32-3.8\numpy\distutils building library "npymath" sources No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/ ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\users\streamlit\appdata\local\programs\python\python38-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\streamlit\\AppData\\Local\\Temp\\pip-install-0jwfwx_u\\numpy\\setup.py'"'"'; __file__='"'"'C:\\Users\\streamlit\\AppData\\Local\\Temp\\pip-install-0jwfwx_u\\numpy\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\streamlit\AppData\Local\Temp\pip-record-eys4l2gc\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\streamlit\AppData\Local\Temp\pip-build-env-s7owjrle\overlay' --compile --install-headers 'C:\Users\streamlit\AppData\Local\Temp\pip-build-env-s7owjrle\overlay\Include\numpy' Check the logs for full command output. ----------------------------------------

This error indicates that Python is trying to compile certain libraries during install, but it cannot find the proper compilers on your system, as reflected by the line error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio".

Installing Build Tools for Visual Studio should resolve this issue.

forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.