lucasmonstrox / PyTibia

🤖 Fastest Tibia PixelBot. A great bot for Auto, Cavebot, Healing, Macro, Refill, Targeting and Training!
MIT License
266 stars 62 forks source link

[BUG] - Diretório com caracteres especiais #76

Open ViniNathan opened 1 year ago

ViniNathan commented 1 year ago

*Descrição do bug Após instalar todas as bibliotecas necessárias e o poetry, assim como solicitado pelos devs, ao realizar o comando 'poetry run python main.py' recebo o seguinte erro:

[ WARN:0@32.218] global loadsave.cpp:244 cv::findDecoder imread_('C:\Users\Usu├írio\Documents\PyTibia\src\repositories\radar/images/floor-0.png'): can't open/read file: check file path/integrity Traceback (most recent call last): File "C:\Users\Usuário\Documents\PyTibia\main.py", line 2, in from src.gameplay.threads.pyTibia import PyTibiaThread File "C:\Users\Usuário\Documents\PyTibia\src\gameplay\threads\pyTibia.py", line 3, in from src.gameplay.cavebot import resolveCavebotTasks, shouldAskForCavebotTasks File "C:\Users\Usuário\Documents\PyTibia\src\gameplay\cavebot.py", line 2, in from src.repositories.gameWindow.creatures import hasTargetToCreature File "C:\Users\Usuário\Documents\PyTibia\src\repositories\gameWindow\creatures.py", line 8, in from src.repositories.radar.config import walkableFloorsSqms File "C:\Users\Usuário\Documents\PyTibia\src\repositories\radar\config.py", line 19, in loadFromRGBToGray( File "C:\Users\Usuário\Documents\PyTibia\src\utils\image.py", line 62, in loadFromRGBToGray return np.array(RGBtoGray(load(path)), dtype=np.uint8) File "C:\Users\Usuário\Documents\PyTibia\src\utils\image.py", line 78, in load return np.array(cv2.cvtColor(cv2.imread(path), cv2.COLOR_BGR2RGB), dtype=np.uint8) cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

Desktop (please complete the following information):

lucasmonstrox commented 1 year ago

O erro está relacionado com caracteres especiais no file path, certo?

felipetnh commented 1 year ago

Tenta mover o projeto pra C:/PyTibia. O erro mostra a pasta "Usuário" como "Usu├írio".

lucasmonstrox commented 1 year ago

@ViniNathan e @felipetnh alguma sugestão?

felipetnh commented 1 year ago

Creio que só mover pra um lugar que o PATH não contenha caracteres especiais já vai resolver. O Python é notório em não saber lidar com caracteres especiais corretamente.

lucasmonstrox commented 1 year ago

Creio que só mover pra um lugar que o PATH não contenha caracteres especiais já vai resolver. O Python é notório em não saber lidar com caracteres especiais corretamente.

Poderia rolar um escape, etc. Tenho de ver algo cross compatível em todos OS.

felipetnh commented 1 year ago

Dá pra tentar, mas nunca tive muito sucesso com isso. Tinha projetos que alguns colegas tinham que trocar de pasta porque o usuário deles tinha caracteres especiais, e ninguém nunca conseguiu resolver corretamente. Mas talvez seja possível algum escape ou algo do tipo. Outra coisa a se testar seria pastas com espaço no nome, por exemplo: "C:/Py Tibia/", ao invés de "C:/PyTibia". Lembro que o espaço também causava problemas pro Python.