chalice
chalice copied to clipboard
Is it possible to use a private repository with chalices requirements.txt?
I have this private repo that I made with the poetry
python library. I can pip install said repo on my local device just fine, but now I want to make a chalice
app that has dependencies on my private repo, and I am running into some issues.
My requirements.txt file currently looks like this
requests fastjsonschema boto3 git+https://gitlab.com/<path to project>/<my project>.git@master#egg=<my project>
When I use chalice deploy
, I am prompted for my gitlab username and password. After typing it in, I get this error
Traceback (most recent call last):
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/cli/__init__.py", line 636, in main
return cli(obj={})
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/cli/__init__.py", line 189, in deploy
deployed_values = d.deploy(config, chalice_stage_name=stage)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/deployer.py", line 376, in deploy
return self._deploy(config, chalice_stage_name)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/deployer.py", line 386, in _deploy
self._build_stage.execute(config, resources)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/deployer.py", line 652, in execute
step.handle(config, resource)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/deployer.py", line 419, in handle
handler(config, resource)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/deployer.py", line 453, in handle_deploymentpackage
zip_filename = self._packager.create_deployment_package(
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 299, in create_deployment_package
self._build_python_dependencies(python_version,
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 277, in _build_python_dependencies
self._dependency_builder.build_site_packages(
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 783, in build_site_packages
wheels, packages_without_wheels = self._download_dependencies(
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 636, in _download_dependencies
deps = self._download_all_dependencies(
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 567, in _download_all_dependencies
deps = {Package(directory, filename) for filename
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 567, in <setcomp>
deps = {Package(directory, filename) for filename
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 800, in __init__
self._name, self._version = self._calculate_name_and_version()
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 860, in _calculate_name_and_version
name, version = info_fetcher.get_package_name_and_version(
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 944, in get_package_name_and_version
pkg_info_filepath = self._get_pkg_info_filepath(package_dir)
File "/home/<name>/PycharmProjects/<local project name>/venv/lib/python3.8/site-packages/chalice/deploy/packager.py", line 925, in _get_pkg_info_filepath
raise UnsupportedPackageError(self._osutils.basename(package_dir))
chalice.deploy.packager.UnsupportedPackageError: Unable to retrieve name/version for package: <my project>
Obviously there is an unsupported package error, but I am unsure if this is because I am making a mistake myself, or if what I am doing is not a feature of chalice. Any ideas? Also, if anyone would like to suggest an alternative approach to accomplish what I am trying to do, I am all ears!
Thanks your your time!
@mence40 you might have to look into #502
Hi @mence40 https://aws.github.io/chalice/topics/packaging.html#rd-party-packages you may use this functionality of chalice.
If you can, try using the SSH URL and set up a passwordless SSH key @mence40