m3talstorm / foe-bot

:robot: A simple bot to automate the main functions of Forge of Empires (FoE)
MIT License
45 stars 15 forks source link

Bash on Windows: Monitor requires regex #7

Closed LordMike closed 7 years ago

LordMike commented 7 years ago
$ python monitor.py
Traceback (most recent call last):
  File "monitor.py", line 15, in <module>
    from monitors.building_monitor import BuildingMonitor
  File "/mnt/c/Users/Mike/Downloads/a/foe-bot/foe/monitors/building_monitor.py", line 14, in <module>
    import moment
  File "/usr/local/lib/python2.7/dist-packages/moment/__init__.py", line 1, in <module>
    from .api import *
  File "/usr/local/lib/python2.7/dist-packages/moment/api.py", line 5, in <module>
    from .core import Moment
  File "/usr/local/lib/python2.7/dist-packages/moment/core.py", line 9, in <module>
    from .parse import parse_date_and_formula, parse_js_date
  File "/usr/local/lib/python2.7/dist-packages/moment/parse.py", line 3, in <module>
    import dateparser
  File "/usr/local/lib/python2.7/dist-packages/dateparser/__init__.py", line 4, in <module>
    from .date import DateDataParser
  File "/usr/local/lib/python2.7/dist-packages/dateparser/date.py", line 8, in <module>
    import regex as re
ImportError: No module named regex

I'm unusre if regex is a part of the normal python installation on Ubuntu, but it seems it isn't.

m3talstorm commented 7 years ago

Hmm looks like its there for me on a normal Ubuntu and Debian install (Python 2.7.*)

That stack also shows it's the moment package that is trying to import regex.

LordMike commented 7 years ago

.. Maybe it's just a quirk of Windows Bash then .. I imagine that moment doesn't specify it as a requirement since it's likely "always" present..

I installed regex (pip install regex), but then I ran into:

$ python monitor.py
Traceback (most recent call last):
  File "monitor.py", line 15, in <module>
    from monitors.building_monitor import BuildingMonitor
  File "/mnt/c/Users/Mike/Downloads/a/foe-bot/foe/monitors/building_monitor.py", line 14, in <module>
    import moment
  File "/usr/local/lib/python2.7/dist-packages/moment/__init__.py", line 1, in <module>
    from .api import *
  File "/usr/local/lib/python2.7/dist-packages/moment/api.py", line 5, in <module>
    from .core import Moment
  File "/usr/local/lib/python2.7/dist-packages/moment/core.py", line 9, in <module>
    from .parse import parse_date_and_formula, parse_js_date
  File "/usr/local/lib/python2.7/dist-packages/moment/parse.py", line 3, in <module>
    import dateparser
  File "/usr/local/lib/python2.7/dist-packages/dateparser/__init__.py", line 4, in <module>
    from .date import DateDataParser
  File "/usr/local/lib/python2.7/dist-packages/dateparser/date.py", line 11, in <module>
    from dateparser.date_parser import date_parser
  File "/usr/local/lib/python2.7/dist-packages/dateparser/date_parser.py", line 9, in <module>
    from .utils import strip_braces, apply_timezone, localize_timezone
  File "/usr/local/lib/python2.7/dist-packages/dateparser/utils/__init__.py", line 8, in <module>
    import ruamel.yaml as yaml
ImportError: No module named ruamel.yaml

This is probably neverending :P

m3talstorm commented 7 years ago

Maybe it is, I remember when I first used Bash for Windows (probably close to a year ago now?) there was just so many hurdles to jump through I dropped it and went back to my normal Ubuntu server VMs :)

LordMike commented 7 years ago

I'm running the bot on my ubuntu server instead, in docker :)