reubano / csv2ofx

A Python library and command line tool for converting csv to ofx and qif files
MIT License
195 stars 111 forks source link

Installation fails on python 3.11, 3.9 and 3.8 #107

Closed ndobler closed 8 months ago

ndobler commented 1 year ago

Hi, I'm not able to install this software in MacOS with these versions of python. I've set up virtualenv and tried with different versions of python. Can you help?

`sudo -H pip3.8 install --upgrade csv2ofx Collecting csv2ofx Using cached csv2ofx-0.30.0-py2.py3-none-any.whl (36 kB) Collecting meza<0.47.0,>=0.46.0 (from csv2ofx) Using cached meza-0.46.0-py2.py3-none-any.whl (56 kB) Collecting python-dateutil<3.0.0,>=2.7.2 (from csv2ofx) Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting requests<3.0.0,>=2.18.4 (from csv2ofx) Obtaining dependency information for requests<3.0.0,>=2.18.4 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB) Collecting chardet<4.0.0,>=3.0.4 (from meza<0.47.0,>=0.46.0->csv2ofx) Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 kB 4.9 MB/s eta 0:00:00 Collecting python-slugify<2.0.0,>=1.2.5 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached python-slugify-1.2.6.tar.gz (6.8 kB) Preparing metadata (setup.py) ... done Collecting xlrd<2.0.0,>=1.1.0 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached xlrd-1.2.0-py2.py3-none-any.whl (103 kB) Collecting dbfread==2.0.4 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached dbfread-2.0.4-py2.py3-none-any.whl (19 kB) Collecting ijson<3.0.0,>=2.3 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached ijson-2.6.1.tar.gz (29 kB) Preparing metadata (setup.py) ... done Collecting beautifulsoup4<5.0.0,>=4.6.0 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached beautifulsoup4-4.12.2-py3-none-any.whl (142 kB) Collecting PyYAML<6.0.0,>=4.2b1 (from meza<0.47.0,>=0.46.0->csv2ofx) Using cached PyYAML-5.4.1.tar.gz (175 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [62 lines of output] running egg_info writing lib3/PyYAML.egg-info/PKG-INFO writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt writing top-level names to lib3/PyYAML.egg-info/top_level.txt /private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in setup.cfg !!

          ********************************************************************************
          The license_file parameter is deprecated, use license_files instead.

          By 2023-Oct-30, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************

  !!
    parsed = self.parsers.get(option_name, lambda x: x)(value)
  Traceback (most recent call last):
    File "/Users/nico/quicken/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/Users/nico/quicken/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/nico/quicken/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
      self.run_setup()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in run_setup
      exec(code, locals())
    File "<string>", line 271, in <module>
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
      return distutils.core.setup(**attrs)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
      super().run_command(command)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 314, in run
      self.find_sources()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
      mm.run()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 551, in run
      self.add_defaults()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
      sdist.add_defaults(self)
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
      super().add_defaults()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
      self._add_defaults_ext()
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
      self.filelist.extend(build_ext.get_source_files())
    File "<string>", line 201, in get_source_files
    File "/private/tmp/pip-build-env-lab0rlk7/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
      raise AttributeError(attr)
  AttributeError: cython_sources
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. ` Thanks

mypalmike commented 1 year ago

I was able to reproduce on Python 3.11 on a MacOS Intel machine. Looks like it's related to some cython/PyYAML weirdness.

https://github.com/yaml/pyyaml/issues/601

The fix would probably involve pinning various dependencies.

thinasdf commented 11 months ago

Problem reproduced on Python 3.10 also on Windows 10.

7hUd41 commented 11 months ago

had the same issue as op and managed to install it by downgrading pyyaml in version 5.3.1 before as mentioned here

should do it

pip install pyyaml==5.3.1
pip install csv2ofx
ndobler commented 8 months ago

Was able to solve it using pip install pyyaml==5.3.1