Can't import fLASK
Hi, when i try to import flask, it says that the current flask version is not compatible with the current repl version.. what should i do? is it possible to fix this? ty for your help
THe replit package includes it's own Flask fork. Instead of using from flask import Flask
use from replit.web import App
and use app = App(__name__)
instead of app = Flask(__name__)
. This flask fork adds a few new features like login with replit for your site. See its docs here https://replit-py.readthedocs.io/en/latest/index.html
@xfinnbar it fixed most of my problems ty, but now i get this error mesage: ValueError: signal only works in main thread .. How can i fix this?
@romainkarpinski What line? What file?
@xfinnbar File "/usr/lib/python3.8/signal.py", line 47, in signal
handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler)), this is the last file mentionned in the log before the error message
@xfinnbar full log:
- Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/runner/BOT/keep_alive.py", line 11, in run
app.run()
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/replit/web/app.py", line 147, in run
super().run(host="localhost" if localhost else "0.0.0.0", port=port, **kwargs)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/flask/app.py", line 990, in run
run_simple(host, port, self, **options)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/werkzeug/serving.py", line 1050, in run_simple
run_with_reloader(inner, extra_files, reloader_interval, reloader_type)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/werkzeug/_reloader.py", line 330, in run_with_reloader
signal.signal(signal.SIGTERM, lambda *args: sys.exit(0))
File "/usr/lib/python3.8/signal.py", line 47, in signal
handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
ValueError: signal only works in main thread
@romainkarpinski I forked the repl and fixed it, copy across my pyproject.toml file and keep_alive.py file. https://replit.com/@xfinnbar/BOT#keep_alive.py
@xfinnbar it works perfectly, ty so much for helping me :)
rlly? just import it like from flask import Flask
? is it not working?
@IOP3 No... and i don't know why..
@IOP3 Because replit (3.0.0) depends on flask (>=1.1.2,<2.0.0)
and no versions of replit match >3.0.0,<4.0.0, replit (>=3.0.0,<4.0.0) requires flask (>=1.1.2,<2.0.0).
So, because repl-python3-bot depends on both replit (^3.0.0) and flask (^2.0.0), version solving failed.
exit status 1
@IOP3thats the error message
try deleting these files and installing again