Ask coding questions

← Back to all posts
Repl installing packages every time a program is used?
ardit700

Repl installs packages simply by readng the import statements in the Python code, which is cool, but it installs a package every time a user runs the code.

I am loving Repl, but installing packages every time is making Repl.it useless. I cannot distribute it to people because it takes a lot of time to make the program ready for execution. Every time I load the repl.run URL of my program it starts with the message:

--> python3 -m poetry install
Installing dependencies from

and then carries on to install all packages imported in the program. I even tried to install the packages beforehand through the Packages menu, but still the same happens when I try to run the program.

Is there a solution to this?

Voters
Pequalsequals
11irishjs
komumusic
malpkakefirek
ardit700
Comments
hotnewtop
GodmarBack

Does this "automatic install" feature still exist? As of today, repl seems to not automatically install packages. The user has to manually "pip install" them every time the Docker container is activated. This is awkward, to say the least. But the virtualenv's space is located under /opt/virtualenv and this is not part of the persistent docker volume.

Is there official documentation about this?

CodeLongAndPros

This is because repl does, what I call "Server hopping". It has some Docker images and vCPUs. Each time you access a repl, it "chooses" a server. Chances are, the server doesn't have the packages you need.

I cannot distribute it to people because it takes a lot of time to make the program ready for execution.

What do you mean by "distribute"? Repl is an IDE. A tool. If you want to share your Python code with non-devs, you should use PyInstaller.

ardit700

@CodeLongAndPros Repl is not just an IDE. The repl.run interface is not an IDE. Yes, many people use Repl as an IDE, but I find it very convinient for clients to give them a URL (a repl.run endpoint) instead of an executable file.

CodeLongAndPros

@ardit700

The repl.run interface is not an IDE.

It's not. I agree. But is Python IDLE a dev enrioment? Yes. But Python is also, in a R.E.P.L.

But overall, repl.it is first a dev environment. If you want less packages, you have use less.

If you want a computer GUI (Kde, GNOME), you have to have X. You have to have all that X needs. Repl just installs everything at once, because it hops servers. I use repl for website hosting, and it works. But hosting a desktop app on repl.run? Not a good idea. For me repl.run doesn't work.

Again, your clients are also just used to double clicking the *.exe file, like all Windows users. I don't think that installing software is such a hurdle. You can put is on GitHub and give them the download link. You can even make a deb and put it on Debain-Main.