Willy-JL / F95Checker

GNU General Public License v3.0
101 stars 16 forks source link

ImportError #27

Closed yohudood closed 1 year ago

yohudood commented 1 year ago

python3 main.py Traceback (most recent call last): File "/home/dietpi/Downloads/f95s/main.py", line 79, in main() File "/home/dietpi/Downloads/f95s/main.py", line 9, in main from modules import globals ImportError: cannot import name 'globals' from 'modules' (unknown location)

Willy-JL commented 1 year ago

your folder structure got messed up somehow. next to main.py you need to have the modules folder, and inside that there should be a globals.py and all the others. maybe you are not running the command in the same folder as main.py? i see that you added python3 main.py but maybe you simplified it? you have to be in the same folder for it to work

yohudood commented 1 year ago

ls F95Checker-Source.zip globals.py msgbox.py Karla-Regular.ttf gui.py paused.png LICENSE icon.icns ratingwidget.py NotoSans-Regular.ttf icon.ico refreshing.png api.py icon.png requirements.txt asklogin.py icons resources async_thread.py imagehelper.py rpc_thread.py callbacks.py logger.py singleton.py db.py main.py structs.py filepicker.py materialdesignicons-webfont.ttf sync_thread.py fonts modules utils.py

yohudood commented 1 year ago

and python3 main.py is in your readme file

Willy-JL commented 1 year ago

yup, youre unzipping it wrong... however you did it, it put all the files in the same folder, when some of them were inside some sub-folders. this is what the structure should look like image

yohudood commented 1 year ago

i have al files in place and now i get this: python3 main.py Traceback (most recent call last): File "/home/dietpi/Downloads/f95s/main.py", line 79, in main() File "/home/dietpi/Downloads/f95s/main.py", line 9, in main from modules import globals File "/home/dietpi/Downloads/f95s/modules/globals.py", line 50, in from modules.structs import Browser, Game, OldGame, Os, Settings File "/home/dietpi/Downloads/f95s/modules/structs.py", line 42, in class Timestamp: File "/home/dietpi/Downloads/f95s/modules/structs.py", line 43, in Timestamp def init(self, unix_time: int | float, format="%d/%m/%Y"): TypeError: unsupported operand type(s) for |: 'type' and 'type'

Willy-JL commented 1 year ago

what does python3 --version say?

yohudood commented 1 year ago

python3.10 --version Python 3.10.7

python3 --version Python 3.9.2

yohudood commented 1 year ago

testing this pip3.10 install -U -r requirements.txt i wil see tomorow if it works (the way i installed python3.10.7 https://computingforgeeks.com/how-to-install-python-on-debian-linux/ /usr/local/bin$ ls 2to3-3.10 idle3.10 pip3.10 pydoc3.10 python3.10 python3.10-config)

Willy-JL commented 1 year ago

Yep, 3.9 was the issue. Thing is that Debian always keeps older packages, so it is not fit for running something like this project where I like to use many new features of multiple sortwares. You can go ahead and use 3.10, but I personally would not install software directly from source like that guide explains to do, linux has package managers for a reason, and installing from source, in my eyes, is kind of going back too the awful system that windows has... unless you have a very specific reason to use Debian, I personally would choose another distro with more up to date packages (not just for the scope of this program, but in general it is a pain to have old packages, and also Debian itself is not really meant for desktop use), like for example i recommend Pop!_OS for something based on Debian (so everything that works on Debian will work here, and it is much more user friendly and up to date), or something Arch based (Arch itself i don't recommend for starting out, it is very cumbersome to setup at first, so something based on arch like Manjaro or EndeavourOS might work well, they are VERY up to date, and also have way more software in the repos due to the AUR (look into using pamac or yay)). If changing distro is not an option, or you dont want to, then fair enough, i just wanted to put my thoughts out on the matter. Using that python3.10 you installed will work perfectly fine.