Imported Packages
Packages imported directly from your code are managed in theImports
tab. This tab allows you to view and manage the packages grouped by language. Links are also provided to the appropriate packager file, such as package.json
for Node.js.

Search and add packages
Clicking onAdd new package
will allow you to search for and install new packages. The language dropdown provides quick access between packagers.

Console
tab.

The Universal Package Manager
Replit will install most packages using the universal package manager. To see which languages and package managers are supported, please check out UPM: Supported Languages. If you prefer using the CLI, you can still use language-specific package managers such aspoetry
or npm
. Any changes to the packager files will be reflected in the Dependencies
tool, but require the respective CLI command or using the Run button to properly update.
Import guessing
As your code evolves, we analyze your project for missing dependencies and automatically guess what needs to be installed to get your code to run. For example, if you addimport flask
to main.py
, the next time you select Run, you’ll see a section in the Console indicating that the latest version of Flask is being installed:

Guessing failures
This section helps you with the command to run a particular version of your package. If there’s a particular version that you need, or we guessed the wrong package entirely, you can runupm
in the shell to resolve the conflict:
Python package managers
When you create a Python Replit App, your package manager will be poetry by default. This means that you will not be able to usepip install
to manage dependencies manually. Instead of running pip install <package>
, you can instead run poetry add <package>
or upm add <package>
, which will do the same thing.
pip
is one of the earliest, and consequently most popular, package managers for Python. You can use pip
as your Replit App’s package manager instead of poetry
.
Follow the steps below:
- In the Tools pane, select the Shell tab to add the common
requirements.txt
file using the following command:
-
Delete the
poetry.lock
file. -
Move your dependencies from
[tool.poetry.dependencies]
torequirements.txt
. Note that theflask = "^3.0.2"
inpyproject.toml
’s[tool.poetry.dependencies]
section would becomeflask>=3.0.2,<4
inrequirements.txt
. -
Finally, delete the other
[tool.poetry...]
sections frompyproject.toml
.
pip
for all future operations.
Now, as you add code to your main.py
file, any time you select Run, upm will determine whether there are any missing packages for your imports, find the latest versions of packages that provide those imports, and install them automatically.
Advanced Configuration
Replit supports all programming languages through integration with Nix. Nix is a tool for managing software packages and system configurations. The System (Advanced) tab provides quick access to Nix support for your Replit App.