I changed (broke) my setup by renaming main.py to mainold.py. I thought I would upload a new main.py I had ready, but my whole replit is now broken.
I tried to go back thru the history tab, but to no avail. The replit doesn’t see pip, pandas or any other package I had installed. Do I have to start over? I had installed TA-Lib in my directory and it took a week just to get it running…
Replit isn’t running on pip and it could bring issues to your repl, Replit are using Poetry as their Package-Manager.
It doesn’t see poetry either.
What do you mean? If you are using the pip install
or pip uninstall
, switch to poetry add
and poetry remove
I can see the packages in the package manager, but it comes back with
ModuleNotFoundError: No module named ‘pandas’
/optionsmethod$ poetry add TA-Lib
Traceback (most recent call last):
File “/home/runner/optionsmethod/venv/bin/poetry”, line 5, in
from poetry.console import main
ModuleNotFoundError: No module named ‘poetry’
Then try downloading your repl’s files and put them in a new repl with the same template you chose. (It should fix it)
1 Like
Just wondering, what does your replit.nix
file look like?
I figured I toasted this one… Now to find that wheel I used to load the TA-Lib… It was in a discussion, I gotta go thru my notes.
{ pkgs }: {
deps = [
pkgs.libtool
pkgs.automake
pkgs.autoconf
pkgs.cmake
pkgs.python310Full
];
env = {
PYTHON_LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
# Needed for pandas / numpy
pkgs.stdenv.cc.cc.lib
pkgs.zlib
# Needed for pygame
pkgs.glib
# Needed for matplotlib
pkgs.xorg.libX11
];
PYTHONBIN = "${pkgs.python310Full}/bin/python3.10";
LANG = "en_US.UTF-8";
};
}
1 Like
I know I dont’ have a bin with python3.10 that has anything under it.
I switched it back to the bin/python3.8/ to get it to acknowledge the packages, but it still won’t.
Not sure it makes a difference, but my python repl looks like this:
replit.nix
{ pkgs }: {
deps = [
pkgs.python310Full
pkgs.replitPackages.prybar-python310
pkgs.replitPackages.stderred
];
env = {
PYTHON_LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
# Needed for pandas / numpy
pkgs.stdenv.cc.cc.lib
pkgs.zlib
# Needed for pygame
pkgs.glib
# Needed for matplotlib
pkgs.xorg.libX11
];
PYTHONBIN = "${pkgs.python310Full}/bin/python3.10";
LANG = "en_US.UTF-8";
STDERREDBIN = "${pkgs.replitPackages.stderred}/bin/stderred";
PRYBAR_PYTHON_BIN = "${pkgs.replitPackages.prybar-python310}/bin/prybar-python310";
};
}
.replit
# The command that runs the program. If the interpreter field is set, it will have priority and this run command will do nothing
run = "python3 main.py"
# The primary language of the repl. There can be others, though!
language = "python3"
entrypoint = "main.py"
# A list of globs that specify which files and directories should
# be hidden in the workspace.
hidden = ["venv", ".config", "**/__pycache__", "**/.mypy_cache", "**/*.pyc"]
# Specifies which nix channel to use when building the environment.
[nix]
channel = "stable-22_11"
# The command to start the interpreter.
[interpreter]
[interpreter.command]
args = [
"stderred",
"--",
"prybar-python310",
"-q",
"--ps1",
"\u0001\u001b[33m\u0002\u0001\u001b[00m\u0002 ",
"-i",
]
env = { LD_LIBRARY_PATH = "$PYTHON_LD_LIBRARY_PATH" }
[env]
VIRTUAL_ENV = "/home/runner/${REPL_SLUG}/venv"
PATH = "${VIRTUAL_ENV}/bin"
PYTHONPATH = "${VIRTUAL_ENV}/lib/python3.10/site-packages"
REPLIT_POETRY_PYPI_REPOSITORY = "https://package-proxy.replit.com/pypi/"
MPLBACKEND = "TkAgg"
POETRY_CACHE_DIR = "${HOME}/${REPL_SLUG}/.cache/pypoetry"
# Enable unit tests. This is only supported for a few languages.
[unitTest]
language = "python3"
# Add a debugger!
[debugger]
support = true
# How to start the debugger.
[debugger.interactive]
transport = "localhost:0"
startCommand = ["dap-python", "main.py"]
# How to communicate with the debugger.
[debugger.interactive.integratedAdapter]
dapTcpAddress = "localhost:0"
# How to tell the debugger to start a debugging session.
[debugger.interactive.initializeMessage]
command = "initialize"
type = "request"
[debugger.interactive.initializeMessage.arguments]
adapterID = "debugpy"
clientID = "replit"
clientName = "replit.com"
columnsStartAt1 = true
linesStartAt1 = true
locale = "en-us"
pathFormat = "path"
supportsInvalidatedEvent = true
supportsProgressReporting = true
supportsRunInTerminalRequest = true
supportsVariablePaging = true
supportsVariableType = true
# How to tell the debugger to start the debuggee application.
[debugger.interactive.launchMessage]
command = "attach"
type = "request"
[debugger.interactive.launchMessage.arguments]
logging = {}
# Configures the packager.
[packager]
language = "python3"
ignoredPackages = ["unit_tests"]
[packager.features]
enabledForHosting = false
# Enable searching packages from the sidebar.
packageSearch = true
# Enable guessing what packages are needed from the code.
guessImports = true
# These are the files that need to be preserved when this
# language template is used as the base language template
# for Python repos imported from GitHub
[gitHubImport]
requiredFiles = [".replit", "replit.nix", ".config", "venv"]
[languages]
[languages.python3]
pattern = "**/*.py"
[languages.python3.languageServer]
start = "pylsp"
1 Like
Thank you, before I drop it and start over, I will put in those dependency packages and see what happens.
Actually, both work, in-fact, disabling poetry and using pip fixes a lot of package problems.
1 Like
Thanks for all your suggestions and help.
I started over and was pleased at the outcome and it came together quicker than I thought.
Sorry, I cannot disclose anything else about the project.
1 Like
I’m not arguing with you (I’m still fairly new, so this is just a question), but why does pip install
work so well for me then?
If you want more detail, poetry updates and checks all packages when you run add or remove, resulting in a lot of CPU and RAM usage, sometimes, disabling poetry and using pip is the only way to get your repl to run.