I am trying to make an executable for a Python program using py2app but receive a Recursion Error whenever I run.
python setup.py py2app
This is the code I am trying to run:
import pandas as pd
def combine_files(file1, file2, output_file):
# Read the CSV files
df1 = pd.read_csv(file1, na_values=['NA', 'N/A'])
df2 = pd.read_csv(file2, na_values=['NA', 'N/A'])
df1 = df1.rename(columns={'name': 'Player', 'fpts': 'Points'})
df2 = df2.rename(columns={'Name': 'Player', 'Fpts': 'Points'})
df1['Points'] *= 4
df2['Points'] *= 3
combined_df = pd.concat([df1, df2], ignore_index=True)
combined_df['Points'].fillna(combined_df.groupby('Player')['Points'].transform('first'), inplace=True)
combined_df = combined_df.groupby('Player', as_index=False)['Points'].sum()
combined_df['Points'] /= 7
combined_df['Points'] = combined_df['Points'].round(2)
combined_df.to_csv(output_file, index=False)
file1 = 'Data_1.csv'
file2 = 'Data_2.csv'
output_file = 'combined_output.csv'
combine_files(file1, file2, output_file)
print(f"The combined file '{output_file}' has been generated.")
And this is the setup.py file:
from setuptools import setup
APP = ['combine2.py']
DATA_FILES = []
OPTIONS = {
'packages': ['pandas'],
'argv_emulation': True,
}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
This is the error I received:
/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
running py2app
creating /Users/miranda/Desktop/Combine/build/bdist.macosx-11.0-arm64/python3.11-standalone/app
creating /Users/miranda/Desktop/Combine/build/bdist.macosx-11.0-arm64/python3.11-standalone/app/collect
creating /Users/miranda/Desktop/Combine/build/bdist.macosx-11.0-arm64/python3.11-standalone/app/temp
creating build/bdist.macosx-11.0-arm64/python3.11-standalone/app/lib-dynload
creating build/bdist.macosx-11.0-arm64/python3.11-standalone/app/Frameworks
Traceback (most recent call last):
File "/Users/miranda/Desktop/Combine/setup.py", line 10, in <module>
setup(
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/py2app/build_app.py", line 984, in run
self._run()
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/py2app/build_app.py", line 1214, in _run
self.run_normal()
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/py2app/build_app.py", line 1307, in run_normal
mf = self.get_modulefinder()
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/py2app/build_app.py", line 1145, in get_modulefinder
return find_modules(
^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/find_modules.py", line 325, in find_modules
find_needed_modules(mf, scripts, includes, packages)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/find_modules.py", line 226, in find_needed_modules
mf.run_script(path)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1142, in run_script
self._scan_code(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1744, in _scan_code
self._scan_ast(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1760, in _scan_ast
imported_module = self._safe_import_hook(*args, **kwds)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1573, in _safe_import_hook
mods = self.import_hook(name, caller, level=level, attr=attr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1158, in import_hook
q, tail = self._find_head_package(parent, name, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1247, in _find_head_package
q = self._import_module(head, qname, parent)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1448, in _import_module
m = self._load_module(fqname, fp, pathname, stuff)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1478, in _load_module
m = self._load_package(fqname, pathname, packagepath)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1974, in _load_package
self._load_module(fqname, fp, buf, stuff)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1539, in _load_module
self._scan_code(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1744, in _scan_code
self._scan_ast(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1760, in _scan_ast
imported_module = self._safe_import_hook(*args, **kwds)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1573, in _safe_import_hook
mods = self.import_hook(name, caller, level=level, attr=attr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1159, in import_hook
m = self._load_tail(q, tail)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1270, in _load_tail
result = self._import_module(head, mname, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1448, in _import_module
m = self._load_module(fqname, fp, pathname, stuff)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1478, in _load_module
m = self._load_package(fqname, pathname, packagepath)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1974, in _load_package
self._load_module(fqname, fp, buf, stuff)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1539, in _load_module
self._scan_code(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1744, in _scan_code
self._scan_ast(co, m)
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1760, in _scan_ast
imported_module = self._safe_import_hook(*args, **kwds)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1573, in _safe_import_hook
mods = self.import_hook(name, caller, level=level, attr=attr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1159, in import_hook
m = self._load_tail(q, tail)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1270, in _load_tail
result = self._import_module(head, mname, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1448, in _import_module
m = self._load_module(fqname, fp, pathname, stuff)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/site-packages/modulegraph/modulegraph.py", line 1478, in _load_module
m = self._load_package(fqname, pathname, packagepath)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 428, in generic_visit
self.visit(value)
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 428, in generic_visit
self.visit(value)
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 428, in generic_visit
self.visit(value)
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 428, in generic_visit
self.visit(value)
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 428, in generic_visit
self.visit(value)
File "/Users/miranda/anaconda3/lib/python3.11/ast.py", line 418, in visit
return visitor(node)
^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded
I deleted a good bit of the recursion error info from the middle due to exceeding the maximum characters.