Coder Social home page Coder Social logo

systemcluster / the-witcher-3-mod-manager Goto Github PK

View Code? Open in Web Editor NEW
96.0 12.0 14.0 3.97 MB

Mod manager for The Witcher 3 πŸ—ƒ

Home Page: https://www.nexusmods.com/witcher3/mods/2678

License: BSD 2-Clause "Simplified" License

Python 99.52% QMake 0.48%
mod-manager modding games witcher-3

the-witcher-3-mod-manager's Introduction

The Witcher 3 Mod Manager

Mod Manager for The Witcher 3.

Supports the Steam and GOG releases on Windows and the Steam Proton release on Linux.

Description

The Witcher 3 Mod Manager is an application that simplifies installing and managing The Witcher 3 mods, originally developed by stefan3372 and now being continued here.

See the Nexus Mods page for releases, screenshots and more information.

Usage

Release Versions (Windows)

Download and unpack the latest release from Nexus Mods or from the GitHub releases. If you are upgrading from version 0.6 or later, directly overwrite the previous installation. Existing configuration files wll be searched in the same directory as the executable first, in Documents\The Witcher 3 Mod Manager second.

On the first run, if no configuration can be found, configuration files will be created under Documents\The Witcher 3 Mod Manager. They can be freely relocated between the two searched locations as preferred.

Python (Windows and Linux)

Download the source and install the requirements with pipenv install --python 3.10. pipenv and either Python 3.10 or pyenv have to be installed. Afterwards run with pipenv run python main.py.

On Linux, the configuration files will be created in ~/.config/TheWitcher3ModManager, and wine has to be available to run Script Merger.

Build Release (Windows)

Download the source and install the requirements with pipenv install --python 3.10 --dev. pipenv and either Python 3.10 or pyenv have to be installed. Afterwards run with pipenv run python setup.py build_exe.

Note

pyenv-win might not work with pipenv out of the box. Either install Python 3.10 manually, or use pyenv-win to install Python 3.10 first and specify its path.

The files will be created in build/exe.[platform identifier].[python version].

the-witcher-3-mod-manager's People

Contributors

henry-hsieh avatar sassbearilla avatar shalokshalom avatar stefan3372 avatar systemcluster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

the-witcher-3-mod-manager's Issues

Spaces in mods.settings file

Using v0.7.5, I was encountering an error when trying to run Script Merger:

Your mods settings file is invalid.
Unrecognized value on line 2:
Enabled = 1

Looking at the source code, I noticed that in config.py write() method sets space_around_delimiters to true by default, which causes the above error. I do not have a python dev environment setup here, so I cannot test changing that parameter default, but it seems like a good candidate for the cause of this issue.

Strangely, though, I did not experience this error when I first installed TW3MM, but I looked at the config file and don't see what could have changed...

Apologies for not being able to test this myself. Please let me know if you need more info.

Command line arguments

It would be nice being able to define folders via command line arguments.
The arguments could be -d/--documents and -e/--executable

Then one could start it with scripts like: (instead of going throug the dialogs the first time)

USER="someuse"
LUTRIS="/home/${USER}/Games/the-witcher-3-wild-hunt-game-of-the-year-edition/drive_c/"
pipenv run python main.py -d "${LUTRIS}users/${USER}/Meine Dokumente/" -e "${LUTRIS}GOG Games/The Witcher 3 Wild Hunt GOTY/bin/x64/witcher3.exe"

This is somewhat related to #18

Use patool directly instead of pyunpack

Hello,
I had to modify the fetcher.py file is src/core not to use pyunpack and use patool directly.
I use NixOS and the way pyunpack calls patool (as a separate program and not via the API) makes it fundamentally incompatible with NixOS.
I replaced lines 268-269 in src/core/fetcher.py with:

import patoolib
patoolib.extract_archive(modPath, outdir=extractedDir)

And this way I could correctly extract the mods.
In hope that it will help anyone

Unable to specify Documents Path (linux)

I was unable to figure out how to specify my documents path. It is having issues finding it since the mod manager and TW3 have separate virtual environments. This could possibly fix this by merging directories, but I think it would be better to have a specify path option like it has for game executable. In the meantime where I can I specify the path within the code? Not very familiar with python so my apologies if I missed something obvious.

pipenv install --python 3 does not download anything.

The-Witcher-3-Mod-manager-Custom pipenv install --python 3
Installing dependencies from Pipfile.lock (96304d)...
An error occurred while installing cchardet==2.1.5 --hash=sha256:950fb40918772efe5779747a2f6c83a053a26b623a674f1d4f271b35331a9968 --hash=sha256:b7cad0a062675acb42eb5170b07be774a5d9ca35a24388e918e5b78cb40ccbf2 --hash=sha256:8126798ec34b9fb444472d849b6510817939347809b898a0d6d6463e41c5901a --hash=sha256:4bd54ff3a239b4fe598ba262d8730372e339fdd314286ceb6706a003d3e03d7b --hash=sha256:240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb --hash=sha256:92341348fed2fb53899e9cccf030da5377beb8ed26dfddc6acf87f1f0ce4b80e --hash=sha256:f87bdef26758a0a8de93bbfd7651ac4fcf798a7a06c049c347a0103279698b23 --hash=sha256:7f22a8194c4e696cea3eff28723f77858495dec52baf93261943c8bb8ce08035 --hash=sha256:5011ab33557913489c98d2fbdd7d88f06736f0bb456c60952fc5e52886b2a410 --hash=sha256:bb05580cd40f4cb7ccda5f90163fc43e27820046a6d0af11c1747d515fc69859 --hash=sha256:4d015296e96c0b2022495e4685b6fc0f3c9feed88fb062135f7f4748df7e0921 --hash=sha256:30f461d876cf3ea40c6fd949b9725c7c6e2522a3e87d33817d221e9f478d7e4d --hash=sha256:379a0bbd630bca677990df7509672a2ca43faf928939fd4b063fc2215b025b91 --hash=sha256:0f7ec49fcd28088c387d4afcc02c0549434d9e07deb2519365a6baa5b6c7ebb4 --hash=sha256:1a6d00b7cbd8acfc5e3093cb5f983a667d0752dc328123c8dcb293e252bfb024 --hash=sha256:6a192cce3009c9cd671588574ad0cb81322c78265ebcb33b2def63c15e44ea47 --hash=sha256:af48965b752490d8e330e41a46ba47f07c63f22ac5c7f4c396b7efd3958daa2e --hash=sha256:b5cebf47f498e5ad4a9a5ef089b7ab6ef7926eaeea0b239c8e54f8217ce81cf2 --hash=sha256:4001620ba761b2ddd51caef6194444b5cd2f131de7c8c51a0f4896cb1ea1111a --hash=sha256:3ae84e6ee215925cd06a772d87c17d5485d862e2f1677aa0d6c295ea9313f117 --hash=sha256:8e3a50bcad2ca0921fbbd46d29cc215dcc0d6d360570d594aeb7b0e2de716e8c --hash=sha256:a4e346151042b5cfae34fff65911842f04849be4a74f22bc52b1e99c11650210 --hash=sha256:6bf07931fa81238d9174266aaf83605204192977671ef230d5651a8f9d4acf56! Will try again.
An error occurred while installing easyprocess==0.3 ; sys_platform != 'win32' --hash=sha256:fb948daac01f64c1e49750752711253614846c6fc7e5692a718a7408f2ffb984 --hash=sha256:fca26794d3ced044d0471bd4ed767d5c287391d8a1c5e9d106fc59478b732543! Will try again.
An error occurred while installing fasteners==0.16 --hash=sha256:74b6847e0a6bb3b56c8511af8e24c40e4cf7a774dfff5b251c260ed338096a4b --hash=sha256:c995d8c26b017c5d6a6de9ad29a0f9cdd57de61ae1113d28fac26622b06a0933! Will try again.
An error occurred while installing patool==1.12 ; sys_platform != 'win32' --hash=sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc --hash=sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097! Will try again.
An error occurred while installing pyside2==5.15.1 --hash=sha256:66cc78e4c6b0754409c79a3c0321a87728d1ef2cc137c61737f1cc1b24574988 --hash=sha256:76f0e0875ed9eb526a98b9e8dedac033a25cdcf7a51eb366451a0202b140d8d4 --hash=sha256:8b737c2f42770918623e704d1bef9cd3df39bd09f1bc61cc550bdc6daa7088f6 --hash=sha256:9d7c076d1c4665c57a7e0b912a52be132410d369c98325c0583c323f10cbe3aa --hash=sha256:db7ae55f88a13fda43ed956a12853f8b5e6ae7148f9ac3565719afa03bbeca8e --hash=sha256:3c9a24557edf25b60fded6ed99a9b5e4b287be1cc3857e76e18dd930e54240e3! Will try again.
An error occurred while installing pyunpack==0.2.2 ; sys_platform != 'win32' --hash=sha256:c5754ff2178951aacd554df7d8a128cb6fb2513a8fa46a7f184920faf7411e6a --hash=sha256:8db8d350e3329ad06fa0aa00aa28295f5babf8c1249ce26292c026e875ba2436! Will try again.
An error occurred while installing shiboken2==5.15.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10' --hash=sha256:44d0cecf0b0b5d844d7cb1edccc209cb9cd26f2c1624298af9905bb41782fbbf --hash=sha256:28f98204d0ad77861b553db12eec0fa04c6e2da7e16126e761bdd70bbd8ae511 --hash=sha256:55249cad55541471b60256179d92be08d520873b76f9cff595bae775dbb06aba --hash=sha256:4c112b5758a39ffa5473d2c6995e2594eb6e002332d9dac35e2efd9debf157a2 --hash=sha256:71f563daabc3a363ccc27a843cfb452f01ebaeb24e5e46704964ffa4c7dc98d9 --hash=sha256:610e3fd0cd16e85f85ef81bc09762868ade2239d43f6de6f3db0733ee6810619! Will try again.
An error occurred while installing six==1.15.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced! Will try again.
An error occurred while installing watchdog==1.0.2 --hash=sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61 --hash=sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a --hash=sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2 --hash=sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb --hash=sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d --hash=sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a --hash=sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b --hash=sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac --hash=sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc --hash=sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5 --hash=sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7 --hash=sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982 --hash=sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18 --hash=sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93 --hash=sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac --hash=sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0 --hash=sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a! Will try again.
Installing initially failed dependencies...
s[pipenv.exceptions.InstallError]: Ignoring shiboken2: markers 'python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"' don't match your environment
[pipenv.exceptions.InstallError]: Collecting cchardet==2.1.5
[pipenv.exceptions.InstallError]: Using cached cchardet-2.1.5.tar.gz (653 kB)
[pipenv.exceptions.InstallError]: Preparing metadata (setup.py): started
[pipenv.exceptions.InstallError]: Preparing metadata (setup.py): finished with status 'done'
[pipenv.exceptions.InstallError]: Collecting easyprocess==0.3
[pipenv.exceptions.InstallError]: Using cached EasyProcess-0.3-py2.py3-none-any.whl (7.9 kB)
[pipenv.exceptions.InstallError]: Collecting fasteners==0.16
[pipenv.exceptions.InstallError]: Using cached fasteners-0.16-py2.py3-none-any.whl (28 kB)
[pipenv.exceptions.InstallError]: Collecting patool==1.12
[pipenv.exceptions.InstallError]: Using cached patool-1.12-py2.py3-none-any.whl (77 kB)
[pipenv.exceptions.InstallError]: ERROR: Ignored the following versions that require a different python version: 5.14.0 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.3 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.15.0 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.15.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.10; 5.15.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4.*, <3.10
[pipenv.exceptions.InstallError]: ERROR: Could not find a version that satisfies the requirement pyside2==5.15.1 (from versions: 0.0.0a1, 5.11.0, 5.11.1, 5.11.2, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.12.4, 5.12.5, 5.12.6, 5.13.0, 5.13.1, 5.13.2, 5.15.2.1)
[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pyside2==5.15.1
ERROR: Couldn't install package: [Requirement(_name='cchardet', vcs=None, req=NamedRequirement(name='cchardet', version='==2.1.5', req=Requirement.parse('cchardet==2.1.5'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=cchardet, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.1.5, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=cchardet==2.1.5)>), markers=None, _specifiers='==2.1.5', index='pypi', editable=False, hashes=frozenset({'sha256:950fb40918772efe5779747a2f6c83a053a26b623a674f1d4f271b35331a9968', 'sha256:b7cad0a062675acb42eb5170b07be774a5d9ca35a24388e918e5b78cb40ccbf2', 'sha256:8126798ec34b9fb444472d849b6510817939347809b898a0d6d6463e41c5901a', 'sha256:4bd54ff3a239b4fe598ba262d8730372e339fdd314286ceb6706a003d3e03d7b', 'sha256:240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb', 'sha256:92341348fed2fb53899e9cccf030da5377beb8ed26dfddc6acf87f1f0ce4b80e', 'sha256:f87bdef26758a0a8de93bbfd7651ac4fcf798a7a06c049c347a0103279698b23', 'sha256:7f22a8194c4e696cea3eff28723f77858495dec52baf93261943c8bb8ce08035', 'sha256:5011ab33557913489c98d2fbdd7d88f06736f0bb456c60952fc5e52886b2a410', 'sha256:bb05580cd40f4cb7ccda5f90163fc43e27820046a6d0af11c1747d515fc69859', 'sha256:4d015296e96c0b2022495e4685b6fc0f3c9feed88fb062135f7f4748df7e0921', 'sha256:30f461d876cf3ea40c6fd949b9725c7c6e2522a3e87d33817d221e9f478d7e4d', 'sha256:379a0bbd630bca677990df7509672a2ca43faf928939fd4b063fc2215b025b91', 'sha256:0f7ec49fcd28088c387d4afcc02c0549434d9e07deb2519365a6baa5b6c7ebb4', 'sha256:1a6d00b7cbd8acfc5e3093cb5f983a667d0752dc328123c8dcb293e252bfb024', 'sha256:6a192cce3009c9cd671588574ad0cb81322c78265ebcb33b2def63c15e44ea47', 'sha256:af48965b752490d8e330e41a46ba47f07c63f22ac5c7f4c396b7efd3958daa2e', 'sha256:b5cebf47f498e5ad4a9a5ef089b7ab6ef7926eaeea0b239c8e54f8217ce81cf2', 'sha256:4001620ba761b2ddd51caef6194444b5cd2f131de7c8c51a0f4896cb1ea1111a', 'sha256:3ae84e6ee215925cd06a772d87c17d5485d862e2f1677aa0d6c295ea9313f117', 'sha256:8e3a50bcad2ca0921fbbd46d29cc215dcc0d6d360570d594aeb7b0e2de716e8c', 'sha256:a4e346151042b5cfae34fff65911842f04849be4a74f22bc52b1e99c11650210', 'sha256:6bf07931fa81238d9174266aaf83605204192977671ef230d5651a8f9d4acf56'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=cchardet, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.1.5, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=cchardet==2.1.5)>, _ireq=None), Requirement(_name='easyprocess', vcs=None, req=NamedRequirement(name='easyprocess', version='==0.3', req=Requirement.parse('easyprocess==0.3; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==0.3)>), markers='sys_platform != "win32"', _specifiers='==0.3', index=None, editable=False, hashes=frozenset({'sha256:fb948daac01f64c1e49750752711253614846c6fc7e5692a718a7408f2ffb984', 'sha256:fca26794d3ced044d0471bd4ed767d5c287391d8a1c5e9d106fc59478b732543'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==0.3)>, _ireq=None), Requirement(_name='fasteners', vcs=None, req=NamedRequirement(name='fasteners', version='==0.16', req=Requirement.parse('fasteners==0.16'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.16, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.16)>), markers=None, _specifiers='==0.16', index='pypi', editable=False, hashes=frozenset({'sha256:74b6847e0a6bb3b56c8511af8e24c40e4cf7a774dfff5b251c260ed338096a4b', 'sha256:c995d8c26b017c5d6a6de9ad29a0f9cdd57de61ae1113d28fac26622b06a0933'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.16, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.16)>, _ireq=None), Requirement(_name='patool', vcs=None, req=NamedRequirement(name='patool', version='==1.12', req=Requirement.parse('patool==1.12; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>), markers='sys_platform != "win32"', _specifiers='==1.12', index=None, editable=False, hashes=frozenset({'sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc', 'sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>, _ireq=None), Requirement(_name='pyside2', vcs=None, req=NamedRequirement(name='pyside2', version='==5.15.1', req=Requirement.parse('pyside2==5.15.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.1)>), markers=None, _specifiers='==5.15.1', index='pypi', editable=False, hashes=frozenset({'sha256:66cc78e4c6b0754409c79a3c0321a87728d1ef2cc137c61737f1cc1b24574988', 'sha256:76f0e0875ed9eb526a98b9e8dedac033a25cdcf7a51eb366451a0202b140d8d4', 'sha256:8b737c2f42770918623e704d1bef9cd3df39bd09f1bc61cc550bdc6daa7088f6', 'sha256:9d7c076d1c4665c57a7e0b912a52be132410d369c98325c0583c323f10cbe3aa', 'sha256:db7ae55f88a13fda43ed956a12853f8b5e6ae7148f9ac3565719afa03bbeca8e', 'sha256:3c9a24557edf25b60fded6ed99a9b5e4b287be1cc3857e76e18dd930e54240e3'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.1)>, _ireq=None), Requirement(_name='pyunpack', vcs=None, req=NamedRequirement(name='pyunpack', version='==0.2.2', req=Requirement.parse('pyunpack==0.2.2; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.2.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.2.2)>), markers='sys_platform != "win32"', _specifiers='==0.2.2', index=None, editable=False, hashes=frozenset({'sha256:c5754ff2178951aacd554df7d8a128cb6fb2513a8fa46a7f184920faf7411e6a', 'sha256:8db8d350e3329ad06fa0aa00aa28295f5babf8c1249ce26292c026e875ba2436'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.2.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.2.2)>, _ireq=None), Requirement(_name='shiboken2', vcs=None, req=NamedRequirement(name='shiboken2', version='==5.15.1', req=Requirement.parse('shiboken2==5.15.1; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10', vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.1)>), markers='python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"', _specifiers='==5.15.1', index=None, editable=False, hashes=frozenset({'sha256:44d0cecf0b0b5d844d7cb1edccc209cb9cd26f2c1624298af9905bb41782fbbf', 'sha256:28f98204d0ad77861b553db12eec0fa04c6e2da7e16126e761bdd70bbd8ae511', 'sha256:55249cad55541471b60256179d92be08d520873b76f9cff595bae775dbb06aba', 'sha256:4c112b5758a39ffa5473d2c6995e2594eb6e002332d9dac35e2efd9debf157a2', 'sha256:71f563daabc3a363ccc27a843cfb452f01ebaeb24e5e46704964ffa4c7dc98d9', 'sha256:610e3fd0cd16e85f85ef81bc09762868ade2239d43f6de6f3db0733ee6810619'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10', vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.1)>, _ireq=None), Requirement(_name='six', vcs=None, req=NamedRequirement(name='six', version='==1.15.0', req=Requirement.parse('six==1.15.0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=six, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3', vcs=None, specifier===1.15.0, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=six==1.15.0)>), markers='python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"', _specifiers='==1.15.0', index=None, editable=False, hashes=frozenset({'sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259', 'sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=six, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3', vcs=None, specifier===1.15.0, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=six==1.15.0)>, _ireq=None), Requirement(_name='watchdog', vcs=None, req=NamedRequirement(name='watchdog', version='==1.0.2', req=Requirement.parse('watchdog==1.0.2'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===1.0.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==1.0.2)>), markers=None, _specifiers='==1.0.2', index='pypi', editable=False, hashes=frozenset({'sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61', 'sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a', 'sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2', 'sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb', 'sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d', 'sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a', 'sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b', 'sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac', 'sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc', 'sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5', 'sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7', 'sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982', 'sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18', 'sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93', 'sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac', 'sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0', 'sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===1.0.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==1.0.2)>, _ireq=None)]
Package installation failed...
➜ The-Witcher-3-Mod-manager-Custom sudo pipenv install --python 3
[sudo] password for joseph:
Creating a virtualenv for this project...
Pipfile: /home/joseph/Downloads/The-Witcher-3-Mod-manager-Custom/Pipfile
Using /usr/bin/python3 (3.10.9) to create virtualenv...
β ™ Creating virtual environment...created virtual environment CPython3.10.9.final.0-64 in 78ms
creator CPython3Posix(dest=/root/.local/share/virtualenvs/The-Witcher-3-Mod-manager-Custom-Jx-LRTp3, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==22.3.1, setuptools==65.6.3, wheel==0.38.4
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

βœ” Successfully created virtual environment!
Virtualenv location: /root/.local/share/virtualenvs/The-Witcher-3-Mod-manager-Custom-Jx-LRTp3
Installing dependencies from Pipfile.lock (96304d)...
An error occurred while installing cchardet==2.1.5 --hash=sha256:6a192cce3009c9cd671588574ad0cb81322c78265ebcb33b2def63c15e44ea47 --hash=sha256:4bd54ff3a239b4fe598ba262d8730372e339fdd314286ceb6706a003d3e03d7b --hash=sha256:a4e346151042b5cfae34fff65911842f04849be4a74f22bc52b1e99c11650210 --hash=sha256:30f461d876cf3ea40c6fd949b9725c7c6e2522a3e87d33817d221e9f478d7e4d --hash=sha256:4001620ba761b2ddd51caef6194444b5cd2f131de7c8c51a0f4896cb1ea1111a --hash=sha256:f87bdef26758a0a8de93bbfd7651ac4fcf798a7a06c049c347a0103279698b23 --hash=sha256:0f7ec49fcd28088c387d4afcc02c0549434d9e07deb2519365a6baa5b6c7ebb4 --hash=sha256:8126798ec34b9fb444472d849b6510817939347809b898a0d6d6463e41c5901a --hash=sha256:8e3a50bcad2ca0921fbbd46d29cc215dcc0d6d360570d594aeb7b0e2de716e8c --hash=sha256:b5cebf47f498e5ad4a9a5ef089b7ab6ef7926eaeea0b239c8e54f8217ce81cf2 --hash=sha256:5011ab33557913489c98d2fbdd7d88f06736f0bb456c60952fc5e52886b2a410 --hash=sha256:af48965b752490d8e330e41a46ba47f07c63f22ac5c7f4c396b7efd3958daa2e --hash=sha256:379a0bbd630bca677990df7509672a2ca43faf928939fd4b063fc2215b025b91 --hash=sha256:b7cad0a062675acb42eb5170b07be774a5d9ca35a24388e918e5b78cb40ccbf2 --hash=sha256:6bf07931fa81238d9174266aaf83605204192977671ef230d5651a8f9d4acf56 --hash=sha256:92341348fed2fb53899e9cccf030da5377beb8ed26dfddc6acf87f1f0ce4b80e --hash=sha256:bb05580cd40f4cb7ccda5f90163fc43e27820046a6d0af11c1747d515fc69859 --hash=sha256:7f22a8194c4e696cea3eff28723f77858495dec52baf93261943c8bb8ce08035 --hash=sha256:1a6d00b7cbd8acfc5e3093cb5f983a667d0752dc328123c8dcb293e252bfb024 --hash=sha256:4d015296e96c0b2022495e4685b6fc0f3c9feed88fb062135f7f4748df7e0921 --hash=sha256:3ae84e6ee215925cd06a772d87c17d5485d862e2f1677aa0d6c295ea9313f117 --hash=sha256:240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb --hash=sha256:950fb40918772efe5779747a2f6c83a053a26b623a674f1d4f271b35331a9968! Will try again.
An error occurred while installing easyprocess==0.3 ; sys_platform != 'win32' --hash=sha256:fb948daac01f64c1e49750752711253614846c6fc7e5692a718a7408f2ffb984 --hash=sha256:fca26794d3ced044d0471bd4ed767d5c287391d8a1c5e9d106fc59478b732543! Will try again.
An error occurred while installing fasteners==0.16 --hash=sha256:74b6847e0a6bb3b56c8511af8e24c40e4cf7a774dfff5b251c260ed338096a4b --hash=sha256:c995d8c26b017c5d6a6de9ad29a0f9cdd57de61ae1113d28fac26622b06a0933! Will try again.
An error occurred while installing patool==1.12 ; sys_platform != 'win32' --hash=sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc --hash=sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097! Will try again.
An error occurred while installing pyside2==5.15.1 --hash=sha256:3c9a24557edf25b60fded6ed99a9b5e4b287be1cc3857e76e18dd930e54240e3 --hash=sha256:8b737c2f42770918623e704d1bef9cd3df39bd09f1bc61cc550bdc6daa7088f6 --hash=sha256:9d7c076d1c4665c57a7e0b912a52be132410d369c98325c0583c323f10cbe3aa --hash=sha256:db7ae55f88a13fda43ed956a12853f8b5e6ae7148f9ac3565719afa03bbeca8e --hash=sha256:76f0e0875ed9eb526a98b9e8dedac033a25cdcf7a51eb366451a0202b140d8d4 --hash=sha256:66cc78e4c6b0754409c79a3c0321a87728d1ef2cc137c61737f1cc1b24574988! Will try again.
An error occurred while installing pyunpack==0.2.2 ; sys_platform != 'win32' --hash=sha256:c5754ff2178951aacd554df7d8a128cb6fb2513a8fa46a7f184920faf7411e6a --hash=sha256:8db8d350e3329ad06fa0aa00aa28295f5babf8c1249ce26292c026e875ba2436! Will try again.
An error occurred while installing shiboken2==5.15.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10' --hash=sha256:71f563daabc3a363ccc27a843cfb452f01ebaeb24e5e46704964ffa4c7dc98d9 --hash=sha256:610e3fd0cd16e85f85ef81bc09762868ade2239d43f6de6f3db0733ee6810619 --hash=sha256:28f98204d0ad77861b553db12eec0fa04c6e2da7e16126e761bdd70bbd8ae511 --hash=sha256:55249cad55541471b60256179d92be08d520873b76f9cff595bae775dbb06aba --hash=sha256:44d0cecf0b0b5d844d7cb1edccc209cb9cd26f2c1624298af9905bb41782fbbf --hash=sha256:4c112b5758a39ffa5473d2c6995e2594eb6e002332d9dac35e2efd9debf157a2! Will try again.
An error occurred while installing six==1.15.0 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259! Will try again.
An error occurred while installing watchdog==1.0.2 --hash=sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0 --hash=sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b --hash=sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2 --hash=sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a --hash=sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5 --hash=sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61 --hash=sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93 --hash=sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac --hash=sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982 --hash=sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc --hash=sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d --hash=sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a --hash=sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb --hash=sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18 --hash=sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac --hash=sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a --hash=sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7! Will try again.
Installing initially failed dependencies...
[pipenv.exceptions.InstallError]: Ignoring shiboken2: markers 'python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"' don't match your environment
[pipenv.exceptions.InstallError]: Collecting cchardet==2.1.5
[pipenv.exceptions.InstallError]: Using cached cchardet-2.1.5.tar.gz (653 kB)
[pipenv.exceptions.InstallError]: Preparing metadata (setup.py): started
[pipenv.exceptions.InstallError]: Preparing metadata (setup.py): finished with status 'done'
[pipenv.exceptions.InstallError]: Collecting easyprocess==0.3
[pipenv.exceptions.InstallError]: Using cached EasyProcess-0.3-py2.py3-none-any.whl (7.9 kB)
[pipenv.exceptions.InstallError]: Collecting fasteners==0.16
[pipenv.exceptions.InstallError]: Using cached fasteners-0.16-py2.py3-none-any.whl (28 kB)
[pipenv.exceptions.InstallError]: Collecting patool==1.12
[pipenv.exceptions.InstallError]: Using cached patool-1.12-py2.py3-none-any.whl (77 kB)
[pipenv.exceptions.InstallError]: ERROR: Ignored the following versions that require a different python version: 5.14.0 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.14.2.3 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.15.0 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.9; 5.15.1 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <3.10; 5.15.2 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4.*, <3.10
[pipenv.exceptions.InstallError]: ERROR: Could not find a version that satisfies the requirement pyside2==5.15.1 (from versions: 0.0.0a1, 5.11.0, 5.11.1, 5.11.2, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.12.4, 5.12.5, 5.12.6, 5.13.0, 5.13.1, 5.13.2, 5.15.2.1)
[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pyside2==5.15.1
ERROR: Couldn't install package: [Requirement(_name='cchardet', vcs=None, req=NamedRequirement(name='cchardet', version='==2.1.5', req=Requirement.parse('cchardet==2.1.5'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=cchardet, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.1.5, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=cchardet==2.1.5)>), markers=None, _specifiers='==2.1.5', index='pypi', editable=False, hashes=frozenset({'sha256:6a192cce3009c9cd671588574ad0cb81322c78265ebcb33b2def63c15e44ea47', 'sha256:4bd54ff3a239b4fe598ba262d8730372e339fdd314286ceb6706a003d3e03d7b', 'sha256:a4e346151042b5cfae34fff65911842f04849be4a74f22bc52b1e99c11650210', 'sha256:30f461d876cf3ea40c6fd949b9725c7c6e2522a3e87d33817d221e9f478d7e4d', 'sha256:4001620ba761b2ddd51caef6194444b5cd2f131de7c8c51a0f4896cb1ea1111a', 'sha256:f87bdef26758a0a8de93bbfd7651ac4fcf798a7a06c049c347a0103279698b23', 'sha256:0f7ec49fcd28088c387d4afcc02c0549434d9e07deb2519365a6baa5b6c7ebb4', 'sha256:8126798ec34b9fb444472d849b6510817939347809b898a0d6d6463e41c5901a', 'sha256:8e3a50bcad2ca0921fbbd46d29cc215dcc0d6d360570d594aeb7b0e2de716e8c', 'sha256:b5cebf47f498e5ad4a9a5ef089b7ab6ef7926eaeea0b239c8e54f8217ce81cf2', 'sha256:5011ab33557913489c98d2fbdd7d88f06736f0bb456c60952fc5e52886b2a410', 'sha256:af48965b752490d8e330e41a46ba47f07c63f22ac5c7f4c396b7efd3958daa2e', 'sha256:379a0bbd630bca677990df7509672a2ca43faf928939fd4b063fc2215b025b91', 'sha256:b7cad0a062675acb42eb5170b07be774a5d9ca35a24388e918e5b78cb40ccbf2', 'sha256:6bf07931fa81238d9174266aaf83605204192977671ef230d5651a8f9d4acf56', 'sha256:92341348fed2fb53899e9cccf030da5377beb8ed26dfddc6acf87f1f0ce4b80e', 'sha256:bb05580cd40f4cb7ccda5f90163fc43e27820046a6d0af11c1747d515fc69859', 'sha256:7f22a8194c4e696cea3eff28723f77858495dec52baf93261943c8bb8ce08035', 'sha256:1a6d00b7cbd8acfc5e3093cb5f983a667d0752dc328123c8dcb293e252bfb024', 'sha256:4d015296e96c0b2022495e4685b6fc0f3c9feed88fb062135f7f4748df7e0921', 'sha256:3ae84e6ee215925cd06a772d87c17d5485d862e2f1677aa0d6c295ea9313f117', 'sha256:240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb', 'sha256:950fb40918772efe5779747a2f6c83a053a26b623a674f1d4f271b35331a9968'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=cchardet, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.1.5, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=cchardet==2.1.5)>, _ireq=None), Requirement(_name='easyprocess', vcs=None, req=NamedRequirement(name='easyprocess', version='==0.3', req=Requirement.parse('easyprocess==0.3; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==0.3)>), markers='sys_platform != "win32"', _specifiers='==0.3', index=None, editable=False, hashes=frozenset({'sha256:fb948daac01f64c1e49750752711253614846c6fc7e5692a718a7408f2ffb984', 'sha256:fca26794d3ced044d0471bd4ed767d5c287391d8a1c5e9d106fc59478b732543'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==0.3)>, _ireq=None), Requirement(_name='fasteners', vcs=None, req=NamedRequirement(name='fasteners', version='==0.16', req=Requirement.parse('fasteners==0.16'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.16, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.16)>), markers=None, _specifiers='==0.16', index='pypi', editable=False, hashes=frozenset({'sha256:74b6847e0a6bb3b56c8511af8e24c40e4cf7a774dfff5b251c260ed338096a4b', 'sha256:c995d8c26b017c5d6a6de9ad29a0f9cdd57de61ae1113d28fac26622b06a0933'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.16, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.16)>, _ireq=None), Requirement(_name='patool', vcs=None, req=NamedRequirement(name='patool', version='==1.12', req=Requirement.parse('patool==1.12; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>), markers='sys_platform != "win32"', _specifiers='==1.12', index=None, editable=False, hashes=frozenset({'sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc', 'sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>, _ireq=None), Requirement(_name='pyside2', vcs=None, req=NamedRequirement(name='pyside2', version='==5.15.1', req=Requirement.parse('pyside2==5.15.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.1)>), markers=None, _specifiers='==5.15.1', index='pypi', editable=False, hashes=frozenset({'sha256:3c9a24557edf25b60fded6ed99a9b5e4b287be1cc3857e76e18dd930e54240e3', 'sha256:8b737c2f42770918623e704d1bef9cd3df39bd09f1bc61cc550bdc6daa7088f6', 'sha256:9d7c076d1c4665c57a7e0b912a52be132410d369c98325c0583c323f10cbe3aa', 'sha256:db7ae55f88a13fda43ed956a12853f8b5e6ae7148f9ac3565719afa03bbeca8e', 'sha256:76f0e0875ed9eb526a98b9e8dedac033a25cdcf7a51eb366451a0202b140d8d4', 'sha256:66cc78e4c6b0754409c79a3c0321a87728d1ef2cc137c61737f1cc1b24574988'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.1)>, _ireq=None), Requirement(_name='pyunpack', vcs=None, req=NamedRequirement(name='pyunpack', version='==0.2.2', req=Requirement.parse('pyunpack==0.2.2; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.2.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.2.2)>), markers='sys_platform != "win32"', _specifiers='==0.2.2', index=None, editable=False, hashes=frozenset({'sha256:c5754ff2178951aacd554df7d8a128cb6fb2513a8fa46a7f184920faf7411e6a', 'sha256:8db8d350e3329ad06fa0aa00aa28295f5babf8c1249ce26292c026e875ba2436'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.2.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.2.2)>, _ireq=None), Requirement(_name='shiboken2', vcs=None, req=NamedRequirement(name='shiboken2', version='==5.15.1', req=Requirement.parse('shiboken2==5.15.1; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10', vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.1)>), markers='python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.10"', _specifiers='==5.15.1', index=None, editable=False, hashes=frozenset({'sha256:71f563daabc3a363ccc27a843cfb452f01ebaeb24e5e46704964ffa4c7dc98d9', 'sha256:610e3fd0cd16e85f85ef81bc09762868ade2239d43f6de6f3db0733ee6810619', 'sha256:28f98204d0ad77861b553db12eec0fa04c6e2da7e16126e761bdd70bbd8ae511', 'sha256:55249cad55541471b60256179d92be08d520873b76f9cff595bae775dbb06aba', 'sha256:44d0cecf0b0b5d844d7cb1edccc209cb9cd26f2c1624298af9905bb41782fbbf', 'sha256:4c112b5758a39ffa5473d2c6995e2594eb6e002332d9dac35e2efd9debf157a2'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.10', vcs=None, specifier===5.15.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.1)>, _ireq=None), Requirement(_name='six', vcs=None, req=NamedRequirement(name='six', version='==1.15.0', req=Requirement.parse('six==1.15.0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=six, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3', vcs=None, specifier===1.15.0, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=six==1.15.0)>), markers='python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"', _specifiers='==1.15.0', index=None, editable=False, hashes=frozenset({'sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced', 'sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=six, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3', vcs=None, specifier===1.15.0, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=six==1.15.0)>, _ireq=None), Requirement(_name='watchdog', vcs=None, req=NamedRequirement(name='watchdog', version='==1.0.2', req=Requirement.parse('watchdog==1.0.2'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===1.0.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==1.0.2)>), markers=None, _specifiers='==1.0.2', index='pypi', editable=False, hashes=frozenset({'sha256:101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0', 'sha256:5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b', 'sha256:ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2', 'sha256:f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a', 'sha256:f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5', 'sha256:68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61', 'sha256:27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93', 'sha256:57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac', 'sha256:376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982', 'sha256:e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc', 'sha256:85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d', 'sha256:d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a', 'sha256:602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb', 'sha256:016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18', 'sha256:b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac', 'sha256:2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a', 'sha256:e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===1.0.2, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==1.0.2)>, _ireq=None)]
Package installation failed...

More error...

When changing language, after I click Yes:
2019-05-13-21-43-43
An error pops up:
2019-05-13-21-38-53

Pipfile requires a specific and old version of PySide2

Hi!
Big disclaimer, I don't know much about python so it's quite possible that I can have done something wrong that caused this error. If that's the case, it would be really valuable to me if someone could explain what I did wrong.

Installation failed with:
[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pyside2==5.14.2.3

It seems Pipfile requires PySide2 = "==5.14.2.3" and when I installed I got PySide2 5.15.2.1.
By editing the Pipfile and changing to
PySide2 = "==5.15.2.1"
the error disappeared. Should this be altered to instead require above a certain PySide2 version?

An error while installing mod vladimirui and merging file's.

Hello, this is a duplicate of a problem with installing a mod VladimirUI
The most part is with the winerror5, and not extracting the files

Hello, whatever i try, something in here just keeps not merging and wont start the game,
the code from game
Error [mod0000_mergedfiles]game\gui\menus\mapmenu.ws(1504): Found unexpected '}'

and in merger those mods are present:
*InterfaceAnimations
*FastTravelFromAnywhere
obraz
AND in kdiff those two errors are present:
1
obraz
2
obraz

+Whenever i try to instal or uninstall it give's me this message
obraz
obraz
Its first time something like this is happening to me, and i dont know how to fix this, help much appreciated~!

Negative priority

Not sure if this is how the priority system works, but it would be nice to be able to set negative priority. Then you can specify which mods you want to load last instead of having to set the priority of all your mods.

Clean up typing and linting issues

There are a lot of spots in the code rejected by mypy and pylint. It would be good to clean up these issues.

There are a few approaches that can be combined:

  • Add type annotations where missing
  • Add # type: ignore and # pylint: disable statements where appropriate
  • Adjust the setup.cfg with a more appropriate configuration

Linux failed installation: cannot find file or directory

I tried installing it on Linux, and the following error showed up:

FileNotFoundError: [Errno 2] No such file or directory: '/home/****/.local/share/Steam/steamapps/compatdata/292030/pfx/drive_c/users/steamuser/My Documents/The Witcher 3

(the **** is the username, which it got right)

I strongly believe the only issue is that the program cannot find the path, because it doesn't exist. The folder it's trying to find is probably

/home/****/.steam/steam/steamapps/compatdata/292030/pfx/drive_c/users/steamuser/Documents/The Witcher 3

I read through the source code, but I am a complete newbie to Python, and I don't know how to make it find the right path.
Screenshot_20211015_095929

Already existing keys inside of mods.settings causes crash

If you use a modlist or happen to have a mod already in that file when the program reads the file, it will do one of two things: Either wipe the file entirely, giving an error that the key already exists, or if you try launching the program, it will crash with the same error.

I am assuming this is due to not handling this situation when you read the file. I have pasted what I think might be a solution to this issue, though it is not complete.

    def readPriority(self):
        self.priority.clear()
        file = os.path.join(self.__userSettingsPath, '/mods.settings')
        try:
            ########################################
            ############## Changes #################
            ########################################
            # encoding is always utf-8
            # specifying the 'r' arguement prevents the program from wiping a file when it encounters an error, as its only permitted to read
            # Further improvements can be made if you do a if statement looking to see if the mods priority already exists.
                # Example for the above:
                # priority = deepcopy(self.priority)
                #   if i in priority: << i would be the index of the priority list, you would want to compare the expected list with the actual list
                #       pass <<< This is where you would want to read the priority that already exists
            # self.priority.read(file, encoding=detectEncoding(file))
            self.priority.read(file, 'r', encoding="utf-8") 
        except Exception as e:
            MessageAlertReadingConfigINI(file, e)

Dynamic Height and Width for Right section

Is this fork has sizable right section of main Window ?

The section that show us Load Order and Priority
Cause I was going to implement this feature but I found your fork that plays little time in long way of original one and it's good fork, so if it's not implemented yet can you add this ?
And It's annoying that in original release the right section is FIXED and when we adjust Load Order column, horizontal scroll bar appear

I didn't test your releases yet, just wanna be sure

Thanks

[Linux] Downloading dependencies does not work

Seems like an issue that has popped up again, see the following:

Installing dependencies from Pipfile.lock (7ee109)...
An error occurred while installing charset-normalizer==3.0.1 --hash=sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b --hash=sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42 --hash=sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d --hash=sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b --hash=sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a --hash=sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59 --hash=sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154 --hash=sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1 --hash=sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c --hash=sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a --hash=sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d --hash=sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6 --hash=sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b --hash=sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b --hash=sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783 --hash=sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5 --hash=sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918 --hash=sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555 --hash=sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639 --hash=sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786 --hash=sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e --hash=sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed --hash=sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820 --hash=sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8 --hash=sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3 --hash=sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541 --hash=sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14 --hash=sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be --hash=sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e --hash=sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76 --hash=sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b --hash=sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c --hash=sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b --hash=sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3 --hash=sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc --hash=sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6 --hash=sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59 --hash=sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4 --hash=sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d --hash=sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d --hash=sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3 --hash=sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a --hash=sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea --hash=sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6 --hash=sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e --hash=sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603 --hash=sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24 --hash=sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a --hash=sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58 --hash=sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678 --hash=sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a --hash=sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c --hash=sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6 --hash=sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18 --hash=sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174 --hash=sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317 --hash=sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f --hash=sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc --hash=sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837 --hash=sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41 --hash=sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c --hash=sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579 --hash=sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753 --hash=sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8 --hash=sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291 --hash=sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087 --hash=sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866 --hash=sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3 --hash=sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d --hash=sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1 --hash=sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca --hash=sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e --hash=sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db --hash=sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72 --hash=sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d --hash=sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc --hash=sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539 --hash=sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d --hash=sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af --hash=sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b --hash=sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602 --hash=sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f --hash=sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478 --hash=sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c --hash=sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e --hash=sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479 --hash=sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7 --hash=sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8! Will try again.
An error occurred while installing easyprocess==1.1 ; sys_platform != 'win32' --hash=sha256:82eed523a0a5eb12a81fa4eacd9f342caeb3f900eb4b798740e6696ad07e63f9 --hash=sha256:885898302a57aab948973e8b5d32a4229392b9fb2d986ab1d4ffd590e5ba90ec! Will try again.
An error occurred while installing fasteners==0.18 --hash=sha256:1d4caf5f8db57b0e4107d94fd5a1d02510a450dced6ca77d1839064c1bacf20c --hash=sha256:cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953! Will try again.
An error occurred while installing patool==1.12 ; sys_platform != 'win32' --hash=sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc --hash=sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097! Will try again.
An error occurred while installing pyside2==5.15.2.1 --hash=sha256:235240b6ec8206d9fdf0232472c6ef3241783d480425e5b54796f06e39ed23da --hash=sha256:23886c6391ebd916e835fa1b5ae66938048504fd3a2934ae3189a96cd5ac0b46 --hash=sha256:439509e53cfe05abbf9a99422a2cbad086408b0f9bf5e6f642ff1b13b1f8b055 --hash=sha256:a9e2e6bbcb5d2ebb421e46e72244a0f4fe0943b2288115f80a863aacc1de1f06 --hash=sha256:af6b263fe63ba6dea7eaebae80aa7b291491fe66f4f0057c0aafe780cc83da9d --hash=sha256:b5e1d92f26b0bbaefff67727ccbb2e1b577f2c0164b349b3d6e80febb4c5bde2! Will try again.
An error occurred while installing pyunpack==0.3 ; sys_platform != 'win32' --hash=sha256:8f517cfc71215f37f74cf3a7668028828c68dc76f4d02e7a69f227ce978d51a3 --hash=sha256:b9192665c3aa28eaeb2b01198a2f2f985d9a3ecce55f266a657b31cd337d3f12! Will try again.
An error occurred while installing shiboken2==5.15.2.1 ; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.11' --hash=sha256:63debfcc531b6a2b4985aa9b71433d2ad3bac542acffc729cc0ecaa3854390c0 --hash=sha256:87079c07587859a525b9800d60b1be971338ce9b371d6ead81f15ee5a46d448b --hash=sha256:a0d0fdeb12b72c8af349b9642ccc67afd783dca449309f45e78cda50272fd6b7 --hash=sha256:eb0da44b6fa60c6bd317b8f219e500595e94e0322b33ec5b4e9f406bedaee555 --hash=sha256:f890f5611ab8f48b88cfecb716da2ac55aef99e2923198cefcf781842888ea65 --hash=sha256:ffd3d0ec3d508e592d7ee3885d27fee1f279a49989f734eb130f46d9501273a9! Will try again.
An error occurred while installing watchdog==2.2.1 --hash=sha256:102a60093090fc3ff76c983367b19849b7cc24ec414a43c0333680106e62aae1 --hash=sha256:17f1708f7410af92ddf591e94ae71a27a13974559e72f7e9fde3ec174b26ba2e --hash=sha256:195ab1d9d611a4c1e5311cbf42273bc541e18ea8c32712f2fb703cfc6ff006f9 --hash=sha256:4cb5ecc332112017fbdb19ede78d92e29a8165c46b68a0b8ccbd0a154f196d5e --hash=sha256:5100eae58133355d3ca6c1083a33b81355c4f452afa474c2633bd2fbbba398b3 --hash=sha256:61fdb8e9c57baf625e27e1420e7ca17f7d2023929cd0065eb79c83da1dfbeacd --hash=sha256:6ccd8d84b9490a82b51b230740468116b8205822ea5fdc700a553d92661253a3 --hash=sha256:6e01d699cd260d59b84da6bda019dce0a3353e3fcc774408ae767fe88ee096b7 --hash=sha256:748ca797ff59962e83cc8e4b233f87113f3cf247c23e6be58b8a2885c7337aa3 --hash=sha256:83a7cead445008e880dbde833cb9e5cc7b9a0958edb697a96b936621975f15b9 --hash=sha256:8586d98c494690482c963ffb24c49bf9c8c2fe0589cec4dc2f753b78d1ec301d --hash=sha256:8b5cde14e5c72b2df5d074774bdff69e9b55da77e102a91f36ef26ca35f9819c --hash=sha256:8c28c23972ec9c524967895ccb1954bc6f6d4a557d36e681a36e84368660c4ce --hash=sha256:967636031fa4c4955f0f3f22da3c5c418aa65d50908d31b73b3b3ffd66d60640 --hash=sha256:96cbeb494e6cbe3ae6aacc430e678ce4b4dd3ae5125035f72b6eb4e5e9eb4f4e --hash=sha256:978a1aed55de0b807913b7482d09943b23a2d634040b112bdf31811a422f6344 --hash=sha256:a09483249d25cbdb4c268e020cb861c51baab2d1affd9a6affc68ffe6a231260 --hash=sha256:a480d122740debf0afac4ddd583c6c0bb519c24f817b42ed6f850e2f6f9d64a8 --hash=sha256:adaf2ece15f3afa33a6b45f76b333a7da9256e1360003032524d61bdb4c422ae --hash=sha256:bc43c1b24d2f86b6e1cc15f68635a959388219426109233e606517ff7d0a5a73 --hash=sha256:c27d8c1535fd4474e40a4b5e01f4ba6720bac58e6751c667895cbc5c8a7af33c --hash=sha256:cdcc23c9528601a8a293eb4369cbd14f6b4f34f07ae8769421252e9c22718b6f --hash=sha256:cece1aa596027ff56369f0b50a9de209920e1df9ac6d02c7f9e5d8162eb4f02b --hash=sha256:d0f29fd9f3f149a5277929de33b4f121a04cf84bb494634707cfa8ea8ae106a8 --hash=sha256:d6b87477752bd86ac5392ecb9eeed92b416898c30bd40c7e2dd03c3146105646 --hash=sha256:e038be858425c4f621900b8ff1a3a1330d9edcfeaa1c0468aeb7e330fb87693e --hash=sha256:e618a4863726bc7a3c64f95c218437f3349fb9d909eb9ea3a1ed3b567417c661 --hash=sha256:f8ac23ff2c2df4471a61af6490f847633024e5aa120567e08d07af5718c9d092! Will try again.
Installing initially failed dependencies...
[pipenv.exceptions.InstallError]: Ignoring shiboken2: markers 'python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.11"' don't match your environment
[pipenv.exceptions.InstallError]: Collecting charset-normalizer==3.0.1 (from -r /tmp/pipenv-9ixh5tz0-requirements/pipenv-97ivgo54-hashed-reqs.txt (line 1))
[pipenv.exceptions.InstallError]:   Using cached charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196 kB)
[pipenv.exceptions.InstallError]: Collecting easyprocess==1.1 (from -r /tmp/pipenv-9ixh5tz0-requirements/pipenv-97ivgo54-hashed-reqs.txt (line 2))
[pipenv.exceptions.InstallError]:   Using cached EasyProcess-1.1-py3-none-any.whl (8.7 kB)
[pipenv.exceptions.InstallError]: Collecting fasteners==0.18 (from -r /tmp/pipenv-9ixh5tz0-requirements/pipenv-97ivgo54-hashed-reqs.txt (line 3))
[pipenv.exceptions.InstallError]:   Using cached fasteners-0.18-py3-none-any.whl (18 kB)
[pipenv.exceptions.InstallError]: Collecting patool==1.12 (from -r /tmp/pipenv-9ixh5tz0-requirements/pipenv-97ivgo54-hashed-reqs.txt (line 4))
[pipenv.exceptions.InstallError]:   Using cached patool-1.12-py2.py3-none-any.whl (77 kB)
[pipenv.exceptions.InstallError]: ERROR: Ignored the following versions that require a different python version: 5.14.0 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.14.1 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.14.2 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.14.2.1 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.14.2.2 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.14.2.3 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.15.0 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9; 5.15.1 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.10; 5.15.2 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.10; 5.15.2.1 Requires-Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.11
[pipenv.exceptions.InstallError]: ERROR: Could not find a version that satisfies the requirement pyside2==5.15.2.1 (from versions: 0.0.0a1, 5.11.0, 5.11.1, 5.11.2, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.12.4, 5.12.5, 5.12.6, 5.13.0, 5.13.1, 5.13.2)
[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pyside2==5.15.2.1
ERROR: Couldn't install package: [Requirement(_name='charset-normalizer', vcs=None, req=NamedRequirement(name='charset-normalizer', version='==3.0.1', req=Requirement.parse('charset-normalizer==3.0.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=charset-normalizer, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===3.0.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=charset-normalizer==3.0.1)>), markers=None, _specifiers='==3.0.1', index='pypi', editable=False, hashes=frozenset({'sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1', 'sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24', 'sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d', 'sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7', 'sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6', 'sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5', 'sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc', 'sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6', 'sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639', 'sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14', 'sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555', 'sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c', 'sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42', 'sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e', 'sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a', 'sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291', 'sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db', 'sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a', 'sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c', 'sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc', 'sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76', 'sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a', 'sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866', 'sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f', 'sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087', 'sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678', 'sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a', 'sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c', 'sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be', 'sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d', 'sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e', 'sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d', 'sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837', 'sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479', 'sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b', 'sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317', 'sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3', 'sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541', 'sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3', 'sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d', 'sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d', 'sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d', 'sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154', 'sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8', 'sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e', 'sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786', 'sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e', 'sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539', 'sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b', 'sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1', 'sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8', 'sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602', 'sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41', 'sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b', 'sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e', 'sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72', 'sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d', 'sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59', 'sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b', 'sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6', 'sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca', 'sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783', 'sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3', 'sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b', 'sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3', 'sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a', 'sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b', 'sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753', 'sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c', 'sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed', 'sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea', 'sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478', 'sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59', 'sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579', 'sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6', 'sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c', 'sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc', 'sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af', 'sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820', 'sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58', 'sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18', 'sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4', 'sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174', 'sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918', 'sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603', 'sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f', 'sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b', 'sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=charset-normalizer, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===3.0.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=charset-normalizer==3.0.1)>, _ireq=None), Requirement(_name='easyprocess', vcs=None, req=NamedRequirement(name='easyprocess', version='==1.1', req=Requirement.parse('easyprocess==1.1; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==1.1)>), markers='sys_platform != "win32"', _specifiers='==1.1', index=None, editable=False, hashes=frozenset({'sha256:82eed523a0a5eb12a81fa4eacd9f342caeb3f900eb4b798740e6696ad07e63f9', 'sha256:885898302a57aab948973e8b5d32a4229392b9fb2d986ab1d4ffd590e5ba90ec'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=easyprocess, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=easyprocess==1.1)>, _ireq=None), Requirement(_name='fasteners', vcs=None, req=NamedRequirement(name='fasteners', version='==0.18', req=Requirement.parse('fasteners==0.18'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.18, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.18)>), markers=None, _specifiers='==0.18', index='pypi', editable=False, hashes=frozenset({'sha256:cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953', 'sha256:1d4caf5f8db57b0e4107d94fd5a1d02510a450dced6ca77d1839064c1bacf20c'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=fasteners, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===0.18, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=fasteners==0.18)>, _ireq=None), Requirement(_name='patool', vcs=None, req=NamedRequirement(name='patool', version='==1.12', req=Requirement.parse('patool==1.12; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>), markers='sys_platform != "win32"', _specifiers='==1.12', index=None, editable=False, hashes=frozenset({'sha256:e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097', 'sha256:3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=patool, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===1.12, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=patool==1.12)>, _ireq=None), Requirement(_name='pyside2', vcs=None, req=NamedRequirement(name='pyside2', version='==5.15.2.1', req=Requirement.parse('pyside2==5.15.2.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.2.1)>), markers=None, _specifiers='==5.15.2.1', index='pypi', editable=False, hashes=frozenset({'sha256:439509e53cfe05abbf9a99422a2cbad086408b0f9bf5e6f642ff1b13b1f8b055', 'sha256:235240b6ec8206d9fdf0232472c6ef3241783d480425e5b54796f06e39ed23da', 'sha256:23886c6391ebd916e835fa1b5ae66938048504fd3a2934ae3189a96cd5ac0b46', 'sha256:af6b263fe63ba6dea7eaebae80aa7b291491fe66f4f0057c0aafe780cc83da9d', 'sha256:a9e2e6bbcb5d2ebb421e46e72244a0f4fe0943b2288115f80a863aacc1de1f06', 'sha256:b5e1d92f26b0bbaefff67727ccbb2e1b577f2c0164b349b3d6e80febb4c5bde2'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyside2, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===5.15.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyside2==5.15.2.1)>, _ireq=None), Requirement(_name='pyunpack', vcs=None, req=NamedRequirement(name='pyunpack', version='==0.3', req=Requirement.parse('pyunpack==0.3; sys_platform != "win32"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.3)>), markers='sys_platform != "win32"', _specifiers='==0.3', index=None, editable=False, hashes=frozenset({'sha256:8f517cfc71215f37f74cf3a7668028828c68dc76f4d02e7a69f227ce978d51a3', 'sha256:b9192665c3aa28eaeb2b01198a2f2f985d9a3ecce55f266a657b31cd337d3f12'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=pyunpack, path=None, uri=None, extras=(), markers=sys_platform != 'win32', vcs=None, specifier===0.3, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=pyunpack==0.3)>, _ireq=None), Requirement(_name='shiboken2', vcs=None, req=NamedRequirement(name='shiboken2', version='==5.15.2.1', req=Requirement.parse('shiboken2==5.15.2.1; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.11"'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.11', vcs=None, specifier===5.15.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.2.1)>), markers='python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.11"', _specifiers='==5.15.2.1', index=None, editable=False, hashes=frozenset({'sha256:a0d0fdeb12b72c8af349b9642ccc67afd783dca449309f45e78cda50272fd6b7', 'sha256:eb0da44b6fa60c6bd317b8f219e500595e94e0322b33ec5b4e9f406bedaee555', 'sha256:63debfcc531b6a2b4985aa9b71433d2ad3bac542acffc729cc0ecaa3854390c0', 'sha256:f890f5611ab8f48b88cfecb716da2ac55aef99e2923198cefcf781842888ea65', 'sha256:87079c07587859a525b9800d60b1be971338ce9b371d6ead81f15ee5a46d448b', 'sha256:ffd3d0ec3d508e592d7ee3885d27fee1f279a49989f734eb130f46d9501273a9'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=shiboken2, path=None, uri=None, extras=(), markers=python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '3.11', vcs=None, specifier===5.15.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=shiboken2==5.15.2.1)>, _ireq=None), Requirement(_name='watchdog', vcs=None, req=NamedRequirement(name='watchdog', version='==2.2.1', req=Requirement.parse('watchdog==2.2.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==2.2.1)>), markers=None, _specifiers='==2.2.1', index='pypi', editable=False, hashes=frozenset({'sha256:f8ac23ff2c2df4471a61af6490f847633024e5aa120567e08d07af5718c9d092', 'sha256:e618a4863726bc7a3c64f95c218437f3349fb9d909eb9ea3a1ed3b567417c661', 'sha256:748ca797ff59962e83cc8e4b233f87113f3cf247c23e6be58b8a2885c7337aa3', 'sha256:8b5cde14e5c72b2df5d074774bdff69e9b55da77e102a91f36ef26ca35f9819c', 'sha256:83a7cead445008e880dbde833cb9e5cc7b9a0958edb697a96b936621975f15b9', 'sha256:cdcc23c9528601a8a293eb4369cbd14f6b4f34f07ae8769421252e9c22718b6f', 'sha256:61fdb8e9c57baf625e27e1420e7ca17f7d2023929cd0065eb79c83da1dfbeacd', 'sha256:c27d8c1535fd4474e40a4b5e01f4ba6720bac58e6751c667895cbc5c8a7af33c', 'sha256:d6b87477752bd86ac5392ecb9eeed92b416898c30bd40c7e2dd03c3146105646', 'sha256:d0f29fd9f3f149a5277929de33b4f121a04cf84bb494634707cfa8ea8ae106a8', 'sha256:8586d98c494690482c963ffb24c49bf9c8c2fe0589cec4dc2f753b78d1ec301d', 'sha256:978a1aed55de0b807913b7482d09943b23a2d634040b112bdf31811a422f6344', 'sha256:195ab1d9d611a4c1e5311cbf42273bc541e18ea8c32712f2fb703cfc6ff006f9', 'sha256:cece1aa596027ff56369f0b50a9de209920e1df9ac6d02c7f9e5d8162eb4f02b', 'sha256:96cbeb494e6cbe3ae6aacc430e678ce4b4dd3ae5125035f72b6eb4e5e9eb4f4e', 'sha256:a480d122740debf0afac4ddd583c6c0bb519c24f817b42ed6f850e2f6f9d64a8', 'sha256:8c28c23972ec9c524967895ccb1954bc6f6d4a557d36e681a36e84368660c4ce', 'sha256:6e01d699cd260d59b84da6bda019dce0a3353e3fcc774408ae767fe88ee096b7', 'sha256:17f1708f7410af92ddf591e94ae71a27a13974559e72f7e9fde3ec174b26ba2e', 'sha256:102a60093090fc3ff76c983367b19849b7cc24ec414a43c0333680106e62aae1', 'sha256:adaf2ece15f3afa33a6b45f76b333a7da9256e1360003032524d61bdb4c422ae', 'sha256:bc43c1b24d2f86b6e1cc15f68635a959388219426109233e606517ff7d0a5a73', 'sha256:6ccd8d84b9490a82b51b230740468116b8205822ea5fdc700a553d92661253a3', 'sha256:e038be858425c4f621900b8ff1a3a1330d9edcfeaa1c0468aeb7e330fb87693e', 'sha256:a09483249d25cbdb4c268e020cb861c51baab2d1affd9a6affc68ffe6a231260', 'sha256:5100eae58133355d3ca6c1083a33b81355c4f452afa474c2633bd2fbbba398b3', 'sha256:4cb5ecc332112017fbdb19ede78d92e29a8165c46b68a0b8ccbd0a154f196d5e', 'sha256:967636031fa4c4955f0f3f22da3c5c418aa65d50908d31b73b3b3ffd66d60640'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=watchdog, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===2.2.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=watchdog==2.2.1)>, _ireq=None)]
 Package installation failed...

Using Arch Linux, Python 3.11.3, pipenv 2023.6.2

License?

Is there a license for this project?

Populate the mod list with mods not installed through the manager

Currently only mods installed through the manager will show up in the mod list. It would be good if all mods would show up in the list.

There are a few issues with this:

  • The mod list as tracked by the manager is stored in a separate xml. This list has to be either expanded during launch or a separate run-time only list has to be kept.
  • Mods as shown in the manager can consist of multiple mods and dlcs. They would have to be shown as separate entries.
  • Additional data like inputs, configs, and xmls may not be inside the installed mod directories. Disabling, enabling or uninstalling untracked mods might not work as expected.

The simplest solution would be to show untracked mods in the list but disabling all functionality (like disabling or uninstalling) for them. There could be an additional column or a different row color indicating this.

Custom run command

It would be nice if the run button could be disabled and/or a custom run command could be define.

The command for steam on linux would be steam steam://rungameid/602320

Running it through lutris could be lutris lutris:rungameid/2038 etc.

There could also be command line arguments for that: --run no, -r<path>/--run <path>

No module named 'easyprocess'

Since I'm on arch I've been installing the dependencies through pacman rather than pip and I have python-easyprocess installed but the mod manager doesn't seem to detect it for some reason.

Installing All NPC Scabbards
No module named 'easyprocess'
> Installed 0 mods or dlcs (1 errors)

(Action=Focus,Reprocess) cannot be overwritten.

I want to override (Action=Focus,Reprocess) in input.settings when installing a mod, but the mod manager ignores ",Reprocess".
The input.settings has (Action=Focus) added and the original (Action=Focus,Reprocess) remains.

TW3MM creates uppercase "DLC" folder instead of using existing lowercase

Problem:

Installing the mod Progress on the Path puts the dlcProgressOnThePath folder inside a newly created DLC folder in the game directory, instead of the (existing) lowercase dlc folder. This makes things not work, presumably because the game does not look at the uppercase folder at all.

Manually moving the folder into the lowercase dlc folder makes the mod work.

As far as I can tell, this doesn't seem to be an issue with the mod, because inside the mod ZIP, the dlc folder is properly lowercase. It seems TW3MM creates this uppercase DLC folder on its own for some reason.

(I imagine this issue does not present on Windows, because it's case insensitive so even if TW3MM tries to reference an uppercase DLC folder the file system will just direct it to the existing lowercase one.)

From a quick glance at the code, it might be as easy as just changing DLC to dlc here:

return self.game and self.game + '/DLC'

Key Override prompt is unclear.

This is the key override prompt:

key_override_prompt

In this example, the mod that is currently installing has the binding:
IK_NONE=(Action=CastSignHold,State=Duration,IdleTime=0.2)

And the current 'input.settings' has the binding:
IK_Q=(Action=CastSignHold,State=Duration,IdleTime=0.2)

So the label 'current' in the prompt refers to the currently set key. And 'original' refers to the new key. This is confusing. Many people consider 'original' to be the first. The one before modifications. The one that was before. It would be better if 'original' was renamed to 'new'.

Also, "Do you wish to keep the current key" is somewhat confusing... Will it not be better if the question was: "Do you want to override the current key"?

Furthermore, it would be better if the prompt also contained the category where the key binding is changing. Such as [Horse], [Combat] etc...

Feature request

It would be great if you could implement a search feature.

Installed.xml corruption

periodically tw3mm will crash and the \users......\Documents\installed.xml file will become corrupted. Has happened to me 3 times now.

Public Linux Support

Gratulations for the Linux support - it is virtually impossible now to find it πŸ€— - can we release a dedicated version of your mod manager with announced Linux support and also mention it in the Readme?
I send you a PR for the second part. Thanks πŸ₯³

Add prompt for path of witcher 3 settings/configs

On Archlinux I've installed witcher 3 with lutris from GOG so I don't have the steam path ~/.local/share/Steam/steamapps/compatdata/292030/pfx/drive_c/users/steamuser/My Documents.

After changing line 41 of src/util/util.py to my real config dir: /home/andrew/Games/the-witcher-3-wild-hunt/drive_c/users/andrew/My Documents/.

The mod manager wouldn't open till I changed the above directory not sure if its meant to ask the user to double check the path or not.

Can't install pyside2 on Python 3.9

Hi,

I just attempted to install (pipenv install --python 3) on my PC running Fedora 3.4. This did not work, and I was given the following output:

$ pipenv install --python 3
Creating a virtualenv for this project...
Pipfile: /home/markus/The-Witcher-3-Mod-manager/Pipfile
Using /usr/bin/python3.9 (3.9.7) to create virtualenv...
β ¦ Creating virtual environment...created virtual environment CPython3.9.7.final.0-64 in 419ms
  creator CPython3Posix(dest=/home/markus/.local/share/virtualenvs/The-Witcher-3-Mod-manager-hVOQ4ZBA, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(extra_search_dir=/usr/share/python-wheels,download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/markus/.local/share/virtualenv)
    added seed packages: pip==21.0.1, setuptools==53.0.0, wheel==0.36.2
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

βœ” Successfully created virtual environment! 
Virtualenv location: /home/markus/.local/share/virtualenvs/The-Witcher-3-Mod-manager-hVOQ4ZBA
Installing dependencies from Pipfile.lock (d86da0)...
An error occurred while installing pyside2==5.14.2.3 --hash=sha256:9c756537f5fb6652854a28a4536da1b6ef321cbceb739cf005e768613914cd19 --hash=sha256:738b9e73f82949f8c3a77349fd70f57e4d2f36e8912d7f6e4c78ae23af338e5a --hash=sha256:fe9d4b405ee9cfe14cb79387dea42a1985e1e2b958d6ef8870388093ad928d09 --hash=sha256:28d0ebd973c62042925474f3d889b8819cdbda0261a317a97354bd0f89479c4a --hash=sha256:1b9ee82f72f672395eefd11493322ac890333ee658a732cb637c47fb3821d504 --hash=sha256:f673f8696dbf9cbcbf5eac586411a58c762c40b3645937081d97ffc9f8b46e30! Will try again.
Ignoring shiboken2: markers 'python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.9"' don't match your environment
  🐍   β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰ 10/10 β€” 00:00:05
Installing initially failed dependencies...
[pipenv.exceptions.InstallError]: ERROR: Could not find a version that satisfies the requirement pyside2==5.14.2.3
[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pyside2==5.14.2.3
ERROR: Couldn't install package: pyside2
 Package installation failed...
  ☀  β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰ 0/1 β€” 00:00:00

This error message suggests a mismatch of python versions:

Ignoring shiboken2: markers 'python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3, 3.4" and python_version < "3.9"' don't match your environment

This suggests that the only supported python versions are 3.5, 3.6, 3.7, and 3.8.

My default python (both python and python3) version is 3.9:

$ python --version
Python 3.9.7
$ python3 --version
Python 3.9.7

We should probably be more specific about which version of python to use in the pipenv command. For example 3.8? pipenv install --python 3.8.

However, it would probably also require adding a notice about which python version should be installed on the system, as well, and maybe some helpful tips on how to do so on different systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.