pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.61k stars 408 forks source link

Fit > Graph option is disabled #2329

Closed killkrog closed 3 years ago

killkrog commented 3 years ago

Versions involved: Win7, 64 bit Pyfa 2.34.0

Description: The menu option mentioned in the title is disabled.

Log file: [2021-03-18 01:41:19.597554] CRITICAL: graphs.gui.canvasPanel: Traceback (most recent call last): File "graphs\gui\canvasPanel.py", line 41, in File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "C:\Python37-x64\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module File "site-packages\matplotlib__init.py", line 1015, in File "site-packages\matplotlib__init.py", line 878, in rc_params File "site-packages\matplotlib__init__.py", line 731, in matplotlib_fname File "site-packages\matplotlib__init__.py", line 728, in gen_candidates File "site-packages\matplotlib\init.py", line 276, in wrapper File "site-packages\matplotlib\init__.py", line 609, in get_configdir File "site-packages\matplotlib\init__.py", line 577, in _get_config_or_cache_dir File "pathlib.py", line 1166, in resolve File "pathlib.py", line 205, in resolve OSError: [WinError 1] Incorrect function: 'H:\Temp\tmps_vreqv2'

Additional information: When I was checking, the temporary directory was empty. Happens with both the zipped version as well as when using the installer.

killkrog commented 3 years ago

I could not find any documentation on how to enable debug logging mode.

killkrog commented 3 years ago

I did some debugging and seem to have fixed the problem.

My TEMP directory is on a RAM disk (IMDisk). The drivers apparently don't work too well with Pyfa and prevent the plotting library from being loaded correctly. I switched to another RAM disk (SoftPerfect RAM Disk) and the problem is gone.

While the issue thus can be closed, it still would be very interesting to know what exactly in pyfa's code caused IMDisk to malfunction.

DarkFenX commented 3 years ago

I believe it is not pyfa's code but something related to matplotlib (the graphing library we're using). It's quite a complex product, so if you are truly interested in that, might ask its maintainers.