plaid / plaid-python

Python bindings for Plaid
https://plaid.com/docs
MIT License
422 stars 147 forks source link

Unable to install `plaid-python` with `pipenv` #516

Closed pranaypaine closed 4 months ago

pranaypaine commented 4 months ago

Attention! I'm getting the following error while I try to install plaid-python.

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for plaid-python error: subprocess-exited-with-error

× Running setup.py install for plaid-python did not run successfully. │ exit code: 1 ╰─> [1627 lines of output] running install running build running build_py creating build creating build/lib creating build/lib/tests copying tests/init.py -> build/lib/tests copying tests/test_statements.py -> build/lib/tests creating build/lib/plaid copying plaid/init.py -> build/lib/plaid copying plaid/rest.py -> build/lib/plaid copying plaid/model_utils.py -> build/lib/plaid copying plaid/exceptions.py -> build/lib/plaid copying plaid/configuration.py -> build/lib/plaid copying plaid/api_client.py -> build/lib/plaid creating build/lib/tests/integration copying tests/integration/test_transactions.py -> build/lib/tests/integration


 copying plaid/model/cra_partner_insights_item.py -> build/lib/plaid/model
  creating build/lib/plaid/models
  copying plaid/models/__init__.py -> build/lib/plaid/models
  creating build/lib/plaid/apis
  copying plaid/apis/__init__.py -> build/lib/plaid/apis
  running egg_info
  writing plaid_python.egg-info/PKG-INFO
  writing dependency_links to plaid_python.egg-info/dependency_links.txt
  writing requirements to plaid_python.egg-info/requires.txt
  writing top-level names to plaid_python.egg-info/top_level.txt
  reading manifest file 'plaid_python.egg-info/SOURCES.txt'
  writing manifest file 'plaid_python.egg-info/SOURCES.txt'
  warning: build_py: byte-compiling is disabled, skipping.

  running install_lib
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-rf2pmi_e/plaid-python_999cf00d70454c58bef10e75612ff575/setup.py", line 12, in <module>
      setup(
    File "/home/pranay/.local/share/virtualenvs/accounts-kPU23XSo/lib/python3.11/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/pranay/anaconda3/lib/python3.11/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/home/pranay/anaconda3/lib/python3.11/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/home/pranay/anaconda3/lib/python3.11/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/home/pranay/.local/share/virtualenvs/accounts-kPU23XSo/lib/python3.11/site-packages/setuptools/command/install.py", line 61, in run
      return orig.install.run(self)
             ^^^^^^^^^^^^^^^^^^^^^^
    File "/home/pranay/anaconda3/lib/python3.11/distutils/command/install.py", line 580, in run
      self.run_command(cmd_name)
    File "/home/pranay/anaconda3/lib/python3.11/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/home/pranay/anaconda3/lib/python3.11/distutils/dist.py", line 984, in run_command
      cmd_obj.ensure_finalized()
    File "/home/pranay/anaconda3/lib/python3.11/distutils/cmd.py", line 107, in ensure_finalized
      self.finalize_options()
    File "/home/pranay/.local/share/virtualenvs/accounts-kPU23XSo/lib/python3.11/site-packages/setuptools/command/install_lib.py", line 17, in finalize_options
      self.set_undefined_options('install',('install_layout','install_layout'))
    File "/home/pranay/anaconda3/lib/python3.11/distutils/cmd.py", line 290, in set_undefined_options
      setattr(self, dst_option, getattr(src_cmd_obj, src_option))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/pranay/anaconda3/lib/python3.11/distutils/cmd.py", line 103, in __getattr__
      raise AttributeError(attr)
  AttributeError: install_layout. Did you mean: 'install_platlib'?

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

× Encountered error while trying to install package. ╰─> plaid-python

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. [0m ✘ Installation Failed

pranaypaine commented 4 months ago

My Pipfile looks something like this.

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
fastapi = "*"
uvicorn = {extras = ["standard"], version = "*"}
boto3 = "*"
requests = "*"
sqlalchemy = "*"
alembic = "*"
mysql-connector-python = "*"
python-jose = {extras = ["cryptography"], version = "*"}
passlib = {extras = ["bcrypt"], version = "*"}
python-multipart = "*"
python-dotenv = "*"
gunicorn = "*"
pillow = "*"
cryptography = "*"
plaid-python = "*"

[dev-packages]

[requires]
python_version = "3.11"
pranaypaine commented 4 months ago

@phoenixy1 @diversario

phoenixy1 commented 4 months ago

This appears to be an issue with the configuration of pip (and specifically setuptools) on your python virtual environment and not specifically or directly related to the plaid-python library. See related topics, which have some troubleshooting suggestions: https://stackoverflow.com/questions/36296134/attributeerror-install-layout-when-attempting-to-install-a-package-in-a-virtual https://stackoverflow.com/questions/63818993/pipenv-fails-when-installing-packages-for-python-3-6 https://meejah.ca/blog/pip-install-layout https://github.com/torproject/sbws/issues/203