sodiray / dynofunc

Functional library for creating and sending dynamo requests on top of boto3
MIT License
9 stars 3 forks source link

Installing dynamof does not install dependencies #14

Closed sodiray closed 4 years ago

sodiray commented 4 years ago

The Problem

When installing dynamof in a fresh virtual environment with no other dependencies yet installed it errors out saying boto3 is not installed. The expectation is that pip can see that dynamof depends on boto3 and installs it as a dependency before it tries to install dynamof.

Workaround

Install the dependencies (only one is boto3) manually before installing dynamof. Run pip install boto3 then install dynamof.

Steps to reproduce

  1. Create a fresh virtual environment: python3 -m venv venv
  2. Activate the venv: source venv/bin/activate
  3. Install dynamof with pip: pip install dynamof==2.1.7

The result is:

(venv) @rayepps ~/projects zsh $ pip install dynamof==2.1.6
Collecting dynamof==2.1.6
  Using cached https://files.pythonhosted.org/packages/5b/6c/2a3237411d0c5cefbf4307a26a9d80d5908b663349ae612ed1747da16146/dynamof-2.1.6.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/fz/lxvknht5231glfllq3hrwhth0000gn/T/pip-build-i5xz1mpd/dynamof/setup.py", line 3, in <module>
        from dynamof.version import VERSION
      File "/private/var/folders/fz/lxvknht5231glfllq3hrwhth0000gn/T/pip-build-i5xz1mpd/dynamof/dynamof/__init__.py", line 5, in <module>
        from dynamof.operations.add import add
      File "/private/var/folders/fz/lxvknht5231glfllq3hrwhth0000gn/T/pip-build-i5xz1mpd/dynamof/dynamof/operations/add.py", line 2, in <module>
        from dynamof.core import builder as ab
      File "/private/var/folders/fz/lxvknht5231glfllq3hrwhth0000gn/T/pip-build-i5xz1mpd/dynamof/dynamof/core/builder.py", line 1, in <module>
        from boto3.dynamodb.types import TypeSerializer
    ModuleNotFoundError: No module named 'boto3'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/fz/lxvknht5231glfllq3hrwhth0000gn/T/pip-build-i5xz1mpd/dynamof/
You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.