config.toml 是一个可选文件,您可以为工作目录或全局开发环境定义它。当 config.toml 在全局和工作目录中都定义时,Streamlit 会合并配置选项,并优先使用工作目录的配置。此外,您可以使用环境变量和命令行选项来覆盖其他配置选项。有关更多信息,请参阅 配置选项

要在本地或每个项目中定义您的配置,请将.streamlit/config.toml添加到您的工作目录中。您的工作目录是您调用streamlit run的地方。如果您之前没有创建.streamlit目录,您需要添加它。

要全局定义您的配置,您首先需要找到您的全局.streamlit目录。Streamlit在安装过程中会将这个隐藏目录添加到您的操作系统用户配置文件中。对于MacOS/Linux,这将是~/.streamlit/config.toml。对于Windows,这将是%userprofile%/.streamlit/config.toml

config.toml 是一个 TOML 文件。

示例

[client] showErrorDetails = "none" [theme] primaryColor = "#F63366" backgroundColor = "black"

以下是您可以在.streamlit/config.toml文件中包含的所有部分和选项。要查看所有配置,请在您的终端或CLI中使用以下命令:

streamlit config show

全局

[global] # By default, Streamlit displays a warning when a user sets both a widget # default value in the function defining the widget and a widget value via # the widget's key in `st.session_state`. # If you'd like to turn off this warning, set this to True. # Default: false disableWidgetStateDuplicationWarning = false # If True, will show a warning when you run a Streamlit-enabled script # via "python my_script.py". # Default: true showWarningOnDirectExecution = true

日志记录器

[logger] # Level of logging for Streamlit's internal logger: "error", "warning", # "info", or "debug". # Default: "info" level = "info" # String format for logging messages. If logger.datetimeFormat is set, # logger messages will default to `%(asctime)s.%(msecs)03d %(message)s`. See # Python's documentation for available attributes: # https://docs.python.org/3/library/logging.html#formatter-objects # Default: "%(asctime)s %(message)s" messageFormat = "%(asctime)s %(message)s"

客户端

[client] # Controls whether uncaught app exceptions and deprecation warnings # are displayed in the browser. This can be one of the following: # - "full" : In the browser, Streamlit displays app deprecation # warnings and exceptions, including exception types, # exception messages, and associated tracebacks. # - "stacktrace" : In the browser, Streamlit displays exceptions, # including exception types, generic exception messages, # and associated tracebacks. Deprecation warnings and # full exception messages will only print to the # console. # - "type" : In the browser, Streamlit displays exception types and # generic exception messages. Deprecation warnings, full # exception messages, and associated tracebacks only # print to the console. # - "none" : In the browser, Streamlit displays generic exception # messages. Deprecation warnings, full exception # messages, associated tracebacks, and exception types # will only print to the console. # - True : This is deprecated. Streamlit displays "full" # error details. # - False : This is deprecated. Streamlit displays "stacktrace" # error details. # Default: "full" showErrorDetails = "full" # Change the visibility of items in the toolbar, options menu, # and settings dialog (top right of the app). # Allowed values: # - "auto" : Show the developer options if the app is accessed through # localhost or through Streamlit Community Cloud as a developer. # Hide them otherwise. # - "developer" : Show the developer options. # - "viewer" : Hide the developer options. # - "minimal" : Show only options set externally (e.g. through # Streamlit Community Cloud) or through st.set_page_config. # If there are no options left, hide the menu. # Default: "auto" toolbarMode = "auto" # Controls whether to display the default sidebar page navigation in a # multi-page app. This only applies when app's pages are defined by the # `pages/` directory. # Default: true showSidebarNavigation = true

运行器

[runner] # Allows you to type a variable or string by itself in a single line of # Python code to write it to the app. # Default: true magicEnabled = true # Handle script rerun requests immediately, rather than waiting for script # execution to reach a yield point. This makes Streamlit much more # responsive to user interaction, but it can lead to race conditions in # apps that mutate session_state data outside of explicit session_state # assignment statements. # Default: true fastReruns = true # Raise an exception after adding unserializable data to Session State. # Some execution environments may require serializing all data in Session # State, so it may be useful to detect incompatibility during development, # or when the execution environment will stop supporting it in the future. # Default: false enforceSerializableSessionState = false # Adjust how certain 'options' widgets like radio, selectbox, and # multiselect coerce Enum members when the Enum class gets re-defined # during a script re-run. For more information, check out the docs: # https://docs.streamlit.io/develop/concepts/design/custom-classes#enums # Allowed values: # - "off" : Disables Enum coercion. # - "nameOnly" : Enum classes can be coerced if their member names match. # - "nameAndValue" : Enum classes can be coerced if their member names AND # member values match. # Default: "nameOnly" enumCoercion = "nameOnly"

服务器

[server] # List of folders that should not be watched for changes. # Relative paths will be taken as relative to the current working directory. # Example: ['/home/user1/env', 'relative/path/to/folder'] # Default: [] folderWatchBlacklist = [] # Change the type of file watcher used by Streamlit, or turn it off # completely. # Allowed values: # - "auto" : Streamlit will attempt to use the watchdog module, and # falls back to polling if watchdog is not available. # - "watchdog" : Force Streamlit to use the watchdog module. # - "poll" : Force Streamlit to always use polling. # - "none" : Streamlit will not watch files. # Default: "auto" fileWatcherType = "auto" # Symmetric key used to produce signed cookies. If deploying on multiple # replicas, this should be set to the same value across all replicas to ensure # they all share the same secret. # Default: randomly generated secret key. cookieSecret = "a-random-key-appears-here" # If false, will attempt to open a browser window on start. # Default: false unless (1) we are on a Linux box where DISPLAY is unset, or # (2) we are running in the Streamlit Atom plugin. headless = false # Automatically rerun script when the file is modified on disk. # Default: false runOnSave = false # The address where the server will listen for client and browser # connections. Use this if you want to bind the server to a specific address. # If set, the server will only be accessible from this address, and not from # any aliases (like localhost). # Default: (unset) address = # The port where the server will listen for browser connections. # Don't use port 3000 which is reserved for internal development. # Default: 8501 port = 8501 # The base path for the URL where Streamlit should be served from. # Default: "" baseUrlPath = "" # Enables support for Cross-Origin Resource Sharing (CORS) protection, # for added security. # If XSRF protection is enabled and CORS protection is disabled at the # same time, Streamlit will enable them both instead. # Default: true enableCORS = true # Enables support for Cross-Site Request Forgery (XSRF) protection, for # added security. # If XSRF protection is enabled and CORS protection is disabled at the # same time, Streamlit will enable them both instead. # Default: true enableXsrfProtection = true # Max size, in megabytes, for files uploaded with the file_uploader. # Default: 200 maxUploadSize = 200 # Max size, in megabytes, of messages that can be sent via the WebSocket # connection. # Default: 200 maxMessageSize = 200 # Enables support for websocket compression. # Default: false enableWebsocketCompression = false # Enable serving files from a `static` directory in the running app's # directory. # Default: false enableStaticServing = false # TTL in seconds for sessions whose websockets have been disconnected. The server # may choose to clean up session state, uploaded files, etc for a given session # with no active websocket connection at any point after this time has passed. # Default: 120 disconnectedSessionTTL = 120 # Server certificate file for connecting via HTTPS. # Must be set at the same time as "server.sslKeyFile". # ['DO NOT USE THIS OPTION IN A PRODUCTION ENVIRONMENT. It has not gone through # security audits or performance tests. For the production environment, we # recommend performing SSL termination by the load balancer or the reverse # proxy.'] sslCertFile = # Cryptographic key file for connecting via HTTPS. # Must be set at the same time as "server.sslCertFile". # ['DO NOT USE THIS OPTION IN A PRODUCTION ENVIRONMENT. It has not gone through # security audits or performance tests. For the production environment, we # recommend performing SSL termination by the load balancer or the reverse # proxy.'] sslKeyFile =

浏览器

[browser] # Internet address where users should point their browsers in order to # connect to the app. Can be IP address or DNS name and path. # This is used to: # - Set the correct URL for CORS and XSRF protection purposes. # - Show the URL on the terminal # - Open the browser # Default: "localhost" serverAddress = "localhost" # Whether to send usage statistics to Streamlit. # Default: true gatherUsageStats = true # Port where users should point their browsers in order to connect to the # app. # This is used to: # - Set the correct URL for XSRF protection purposes. # - Show the URL on the terminal (part of `streamlit run`). # - Open the browser automatically (part of `streamlit run`). # This option is for advanced use cases. To change the port of your app, use # `server.Port` instead. Don't use port 3000 which is reserved for internal # development. # Default: whatever value is set in server.port. serverPort = 8501

Mapbox

[mapbox] # Configure Streamlit to use a custom Mapbox # token for elements like st.pydeck_chart and st.map. # To get a token for yourself, create an account at # https://mapbox.com. It's free (for moderate usage levels)! # Default: "" token = ""

主题

[theme] # The preset Streamlit theme that your custom theme inherits from. # One of "light" or "dark". base = # Primary accent color for interactive elements. primaryColor = # Background color for the main content area. backgroundColor = # Background color used for the sidebar and most interactive widgets. secondaryBackgroundColor = # Color used for almost all text. textColor = # Font family for all text in the app, except code blocks. One of "sans serif", # "serif", or "monospace". font =

秘密

[secrets] # List of locations where secrets are searched. An entry can be a path to a # TOML file or directory path where Kubernetes style secrets are saved. # Order is important, import is first to last, so secrets in later files # will take precedence over earlier ones. # Default: [ <path to local environment's secrets.toml file>, <path to project's secrets.toml file>,] files = [ "~/.streamlit/secrets.toml", "~/project directory/.streamlit/secrets.toml",]
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。