tvwenger / maxfield

An Ingress Linking and Fielding Strategy Generator
http://www.ingress-maxfield.com/
GNU General Public License v3.0
106 stars 56 forks source link

error #32

Closed ayezona closed 2 years ago

ayezona commented 2 years ago

the errors that python is giving me...


ayezona@ayezona-VM:~/Downloads/maxfield-4.0$ maxfield-plan portals.txt --num_agents 1 --num_cpus 1 --verbose Found 85 portals in portal file: portals.txt

Starting field generation with 1 CPU. Traceback (most recent call last): File "/usr/local/bin/maxfield-plan", line 4, in import('pkg_resources').run_script('maxfield==4.0', 'maxfield-plan') File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 651, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 1455, in run_script exec(script_code, namespace, namespace) File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/EGG-INFO/scripts/maxfield-plan", line 88, in File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/maxfield.py", line 212, in maxfield File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/plan.py", line 142, in optimize File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/plan.py", line 142, in File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/generator.py", line 110, in generate File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/fielder.py", line 132, in make_fields File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 324, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 324, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 324, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links [Previous line repeated 1 more time] File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 323, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 320, in build_links [Previous line repeated 970 more times] File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 307, in build_links File "/usr/local/lib/python3.9/dist-packages/maxfield-4.0-py3.9.egg/maxfield/field.py", line 263, in split File "mtrand.pyx", line 962, in numpy.random.mtrand.RandomState.choice File "mtrand.pyx", line 748, in numpy.random.mtrand.RandomState.randint File "_bounded_integers.pyx", line 1228, in numpy.random._bounded_integers._rand_int64 File "<__array_function__ internals>", line 5, in prod File "/home/ayezona/.local/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 3051, in prod return _wrapreduction(a, np.multiply, 'prod', axis, dtype, out, File "/home/ayezona/.local/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 70, in _wrapreduction passkwargs = {k: v for k, v in kwargs.items() RecursionError: maximum recursion depth exceeded while calling a Python object


tvwenger commented 2 years ago

Thanks for reporting! Could you please post or share your portal list?

ayezona commented 2 years ago

portals.txt

tvwenger commented 2 years ago

Thanks!

In that portal list, there is a duplicate portal entry:

aurora community centre; https://intel.ingress.com/intel?ll=43.998751,-79.468056&z=16&pll=44.004352,-79.471328 
aurora community centre; https://intel.ingress.com/intel?ll=44.005787,-79.470891&z=16&pll=44.004352,-79.471328

When there is a duplicate portal (or two portals at the exact same location), the Maxfield algorithm will fail with errors like the recursion error you had.

The latest version of Maxfield, however, specifically catches, reports, and fixes this issue to prevent errors like this. For example, when I run your portal list with the latest version of Maxfield on the master branch, here's what I get:

$ maxfield-plan portals.txt --num_agents 1 --num_cpus 1 --verbose
Portal list contains a duplicate URL. Skipping this duplicate line:
aurora community centre; https://intel.ingress.com/intel?ll=44.005787,-79.470891&z=16&pll=44.004352,-79.471328
Found 84 portals in portal file: portals.txt

Starting field generation with 1 CPU.

This is different than what you saw. Are you using the latest version of Maxfield, and are you sure that this is the correct portal list with which you got that error message? I am able to run Maxfield on your portal list without error.

ayezona commented 2 years ago

soo after redownloading and starting a fresh vm i think i may had a older version ..... on Ubuntu 21.10 with Python 3.9.7. ... sooo not sure what happen.... but it saying something about it too new.. Requirement.parse('pyparsing<3,>=2.0.2') and it looks like 2.0.2 was stop supported for python 3.0.4

-- ayezona@ayezona-VirtualBox:~/Downloads/maxfield-master$ maxfield-plan v4_portals.txt --num_agents 1 --num_cpus 0 --verbose Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 568, in _build_master ws.require(requires) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 886, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 777, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (pyparsing 3.0.4 (/usr/local/lib/python3.9/dist-packages/pyparsing-3.0.4-py3.9.egg), Requirement.parse('pyparsing<3,>=2.0.2'), {'packaging'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/bin/maxfield-plan", line 4, in import('pkg_resources').run_script('maxfield==4.0', 'maxfield-plan') File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3243, in def _initialize_master_working_set(): File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3226, in _call_aside f(*args, *kwargs) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 3255, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 570, in _build_master return cls._build_from_requirements(requires) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 583, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 777, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (pyparsing 3.0.4 (/usr/local/lib/python3.9/dist-packages/pyparsing-3.0.4-py3.9.egg), Requirement.parse('pyparsing<3,>=2.0.2'), {'packaging'}) ayezona@ayezona-VirtualBox:~/Downloads/maxfield-master$ pip install pyparsing==2.0.2 Defaulting to user installation because normal site-packages is not writeable Collecting pyparsing==2.0.2 Downloading pyparsing-2.0.2.zip (1.3 MB) |████████████████████████████████| 1.3 MB 4.0 MB/s
Preparing metadata (setup.py) ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-vw8y_upg/pyparsing_c522a81440fe48c79afdf4941b372785/setup.py'"'"'; file='"'"'/tmp/pip-install-vw8y_upg/pyparsing_c522a81440fe48c79afdf4941b372785/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-2st90jdp cwd: /tmp/pip-install-vw8y_upg/pyparsing_c522a81440fe48c79afdf4941b372785/ Complete output (21 lines): Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-vw8y_upg/pyparsing_c522a81440fe48c79afdf4941b372785/setup.py", line 13, in setup(# Distribution meta-data File "/usr/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 432, in init _Distribution.init(self, { File "/usr/lib/python3.9/distutils/dist.py", line 292, in init self.finalize_options() File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 707, in finalize_options for ep in sorted(eps, key=by_order): File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 706, in eps = map(lambda e: e.load(), pkg_resources.iter_entry_points(group)) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2449, in load self.require(
args, **kwargs) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2472, in require items = working_set.resolve(reqs, env, installer, extras=self.extras) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 777, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (pyparsing 3.0.4 (/usr/local/lib/python3.9/dist-packages/pyparsing-3.0.4-py3.9.egg), Requirement.parse('pyparsing<3,>=2.0.2'), {'packaging'})

WARNING: Discarding https://files.pythonhosted.org/packages/ca/15/f11ad041560a392ffa16638a2b500f6cdf4ba873609318187184919f9453/pyparsing-2.0.2.zip#sha256=d61cce2ef4bc4eb27d99bc5130e30be1bfbe59fe41e804255f06061cbec0388f (from https://pypi.org/simple/pyparsing/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading pyparsing-2.0.2.tar.gz (1.1 MB) |████████████████████████████████| 1.1 MB 9.5 MB/s
Preparing metadata (setup.py) ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-vw8y_upg/pyparsing_566461dca18d447aa5caf0e61fbf7d37/setup.py'"'"'; file='"'"'/tmp/pip-install-vw8y_upg/pyparsing_566461dca18d447aa5caf0e61fbf7d37/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-9yz8gs4l cwd: /tmp/pip-install-vw8y_upg/pyparsing_566461dca18d447aa5caf0e61fbf7d37/ Complete output (21 lines): Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-vw8y_upg/pyparsing_566461dca18d447aa5caf0e61fbf7d37/setup.py", line 13, in setup(# Distribution meta-data File "/usr/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 432, in init _Distribution.init(self, { File "/usr/lib/python3.9/distutils/dist.py", line 292, in init self.finalize_options() File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 707, in finalize_options for ep in sorted(eps, key=by_order): File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 706, in eps = map(lambda e: e.load(), pkg_resources.iter_entry_points(group)) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2449, in load self.require(*args, **kwargs) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2472, in require items = working_set.resolve(reqs, env, installer, extras=self.extras) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 777, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (pyparsing 3.0.4 (/usr/local/lib/python3.9/dist-packages/pyparsing-3.0.4-py3.9.egg), Requirement.parse('pyparsing<3,>=2.0.2'), {'packaging'})

WARNING: Discarding https://files.pythonhosted.org/packages/51/86/71f91a7eb610a925a7b94ac3153c36e72cec85d29d572fc4fd4929d7b255/pyparsing-2.0.2.tar.gz#sha256=17e43d6b17588ed5968735575b3983a952133ec4082596d214d7090b56d48a06 (from https://pypi.org/simple/pyparsing/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. ERROR: Could not find a version that satisfies the requirement pyparsing==2.0.2 (from versions: 1.4.6, 1.4.7, 1.4.8, 1.4.11, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8, 2.1.9, 2.1.10, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.4.0, 2.4.1.1, 2.4.2a1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.7, 3.0.0a1, 3.0.0a2, 3.0.0b1, 3.0.0b2, 3.0.0b3, 3.0.0rc1, 3.0.0rc2, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4) ERROR: No matching distribution found for pyparsing==2.0.2

tvwenger commented 2 years ago

This is apparently a bug in packaging. I bypassed it via:

pip install pyparsing==2.4.7
python setup.py install

Let me know if that works for you.

ayezona commented 2 years ago

that fix that one then i also had to do

sudo pip install tomli==1.0.0 sudo pip install pillow==8.3.2

then i was able to install

ayezona commented 2 years ago

image yea more errors

tvwenger commented 2 years ago

That is something else (IBus Preferences) crashing. I am not able to reproduce this problem, so I think this is an issue with your system.

tvwenger commented 2 years ago

It looks like Maxfield is still running in that terminal...