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

Update README #1604

Closed BartMassey closed 5 years ago

BartMassey commented 6 years ago

Bug Report

Pyfa top-of-tree requires webview installed to operate. Should be added to requirements.txt.

Detailed steps to reproduce:

Try to run Pyfa without webview installed.

Release or development git branch? Please note the release version or commit hash:

Master (2cac214f46e5365f77623540e3355c6d494c853c)

Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

Debian Linux Stretch.

Other relevant information:

Using wxGtk 4.0.1, since that's what's packaged with Debian.


Edit by @blitzmann:

We really need to get the README file updated to better reflect current conditions of the pyfa build for the platforms. :D

blitzmann commented 6 years ago

Using wxGtk 4.0.1, since that's what's packaged with Debian. Erm... you may have some problems... 1421

I'm not familiar with webview, and I don't have this package installed on my local machine. Is there an error that pops up without it? If so, can you post it? Also haven't heard of any issues from other Linux users?

I don't have a problem adding it, but I'm wondering if it's more specific to the distro...

BartMassey commented 6 years ago

Webview is the thing that supplies wx.html2. Error text from the error dialog with it missing is below.

I don't know whether Debian-specific packaging is an issue here.

Other than one label not rendering properly (character select) I haven't seen any other issues with 4.0.1. Since this is the only wxgtk4 packaged with Debian, it would be really great if this could work as a substitute for 4.0.0b3.

OS version: Linux-4.15.0-2-amd64-x86_64-with-debian-buster-sid
Python version: 3.6.5 (default, Apr  1 2018, 05:46:30) 
[GCC 7.3.0]
wxPython version: 4.0.1 (wxWidgets 3.0.4)
SQLAlchemy version: 1.2.5
Logbook version: 1.3.0
Requests version: 2.18.4
Dateutil version: 2.7.3

####################

Traceback (most recent call last):
  File "pyfa.py", line 128, in <module>
    from gui.mainFrame import MainFrame
  File "/usr/local/src/Pyfa/gui/mainFrame.py", line 63, in <module>
    from gui.updateDialog import UpdateDialog
  File "/usr/local/src/Pyfa/gui/updateDialog.py", line 25, in <module>
    import wx.html2
ModuleNotFoundError: No module named 'wx.html2'
blitzmann commented 6 years ago

It sounds like it could be a packaging issue. As stated, I don't have this pip package, and no one else has reported it. It's kinda weird though - you would think that the wxGtk package would ship with that requirement. The distro package may not be built with that support, but I'm really not versed enough with how all that works lol

Is there a way to get in touch with the package maintainer and at least get their opinion? As I said, it's really not that big of a deal for me to add wevbview, but if this is a problem with the package, I expect a few other people using that package, even non-pyfa software, might have this issue, so upstream might be interested in hearing about it. 😄

blitzmann commented 6 years ago

So looking at this a bit more, this is indeed a distro thing. pyfa is agnostic to distro. requirements.txt is supposed to be used via pip to install PyPi packages, and if you install the requirements this way, pyfa should work fine.

The distros, however, tend to split wxPython into multiple packages: https://tracker.debian.org/pkg/wxpython4.0

python3-wxgtk-media4.0
python3-wxgtk-webview4.0
python3-wxgtk4.0

So, for most people that download via pip (or compile wxPython themselves), the PyPi packages things in requirements.txt are all that is needed. However, if you choose to install python packages via the distro package manager, one must be aware that you may not get the complete "wxPython" - it might be split up into various packages (depending on distro, this might be due to licensing restrictions and whatnot).

Instead of adding to requirements.txt, I think it would be more helpful to spin up a wiki page linked from the README for packages required for various linux distros that anyone can edit and add to. 😄

BartMassey commented 6 years ago

Got it, thanks! I wasn't sure I even could install wxPython via pip, which is why I used the Debian package manager.

Maybe stick some short version of your note above in the README? I didn't realize that I could in principle just run the requirements list through pip3 install and be good.

Ideally, someone should pick up where the last developer left off and start maintaining the Debian packaging for Pyfa again. That would enable installing for development with apt build-dep, maybe, although it also just might mean having to get some more PyPi packages into Debian, which seems like a regression. I don't know.

Anyway, thanks for looking into this!

blitzmann commented 6 years ago

Got it, thanks! I wasn't sure I even could install wxPython via pip, which is why I used the Debian package manager.

Yeah, wxPython through pip on Linux is kinda eehhhh. because every linux distro is different, it actually builds wxPython instead of downloads a binary. Debian is one of the few with official builds though, you can point your pip through to https://extras.wxpython.org/wxPython4/extras/linux/gtk3/. But yeah, having a debian package is definitely easier.

The README indeed needs a bit of love, have this on my todo list. Might as well morph this issue into one about updating that.

Thanks! 😄

BartMassey commented 6 years ago

Thank you!

serdurarara commented 6 years ago

helloo

i am kind of new in linux.. i use ubuntu 16.04 and i dont know how to install pyfa.. :/ can you help me plz?

thank you

DarkFenX commented 5 years ago

Unsure what was implied here, but I updated readme (mostly fixed links) in 26b3dff9d4551f06e8902fde1cb5deb4ce9c4d64. Will update screenshot later.

Dependency issue is covered in #2025.

DarkFenX commented 5 years ago

Updated screenshot as well.