aws / aws/aws-lambda-builders

Can not install custom python dependency from custom git url

Open
#555 4 comments 1 reaction 0 assignees View on GitHub
area/workflow/python_pip type/feature type/unsupported dependency
Dominant language
Python
Stars
380
Forks
161
Avg merge
1d 1h
Merged PRs (30d)
2

Description

### Description:

I am trying to install a python dependency from a custom git repo, with a specific commit and a subdirectory specified.

### Steps to reproduce:

I have the following line in my requirements.txt:

`langchain @ git+https://github.com/mrtj/langchain.git@7b52eff#subdirectory=libs/langchain`

### Observed result:

`sam build` fails with the error `PythonPipBuilder:ResolveDependencies - Unable to retrieve name/version for package`

### Expected result:

`sam build` works.

Note: `pip install -r requirements.txt` do correctly install the required version of the package.

### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

```json
{
"version": "1.98.0",
"system": {
"python": "3.8.13",
"os": "macOS-12.5-x86_64-i386-64bit"
},
"additional_dependencies": {
"docker_engine": "20.10.23",
"aws_cdk": "Not available",
"terraform": "1.3.7"
},
"available_beta_feature_env_vars": [
"SAM_CLI_BETA_FEATURES",
"SAM_CLI_BETA_BUILD_PERFORMANCE",
"SAM_CLI_BETA_TERRAFORM_SUPPORT",
"SAM_CLI_BETA_RUST_CARGO_LAMBDA"
]
}
```

`Add --debug flag to command you are running`

Debug output:

```
2023-10-10 18:26:23,075 | Running PythonPipBuilder:ResolveDependencies
2023-10-10 18:26:23,104 | calling pip download -r /Users/janos/Projects/teamsystem_personalizer/personalizer/requirements.txt --dest
/var/folders/6r/wc15p6m13nl_nl_n_xfqpc5c0000gp/T/tmpvma9ri9e --exists-action i
2023-10-10 18:26:39,016 | Non zero rc (2) from the setup.py egg_info command: b"Usage: sam [OPTIONS] COMMAND [ARGS]...\nTry 'sam -h' for
help.\n\nError: No such option: -c\n"
2023-10-10 18:26:39,019 | Using fallback location for PKG-INFO file in package directory:
/var/folders/6r/wc15p6m13nl_nl_n_xfqpc5c0000gp/T/tmpve6hox12/langchain
2023-10-10 18:26:39,146 | PythonPipBuilder:ResolveDependencies raised unhandled exception
Traceback (most recent call last):
File "aws_lambda_builders/workflow.py", line 371, in run
File "aws_lambda_builders/workflows/python_pip/actions.py", line 51, in execute
File "aws_lambda_builders/workflows/python_pip/packager.py", line 158, in build_dependencies
File "aws_lambda_builders/workflows/python_pip/packager.py", line 259, in build_site_packages
File "aws_lambda_builders/workflows/python_pip/packager.py", line 283, in _download_dependencies
File "aws_lambda_builders/workflows/python_pip/packager.py", line 366, in _download_all_dependencies
File "aws_lambda_builders/workflows/python_pip/packager.py", line 366, in
File "aws_lambda_builders/workflows/python_pip/packager.py", line 515, in __init__
File "aws_lambda_builders/workflows/python_pip/packager.py", line 557, in _calculate_name_and_version
File "aws_lambda_builders/workflows/python_pip/packager.py", line 698, in get_package_name_and_version
File "aws_lambda_builders/workflows/python_pip/packager.py", line 610, in _get_pkg_info_filepath
aws_lambda_builders.workflows.python_pip.packager.UnsupportedPackageError: Unable to retrieve name/version for package: langchain
2023-10-10 18:26:39,154 | Exception raised during the execution
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.