Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/bugfix/Miserlough-2097-fix-deplo…
Browse files Browse the repository at this point in the history
…y-with-no-env'
  • Loading branch information
monkut committed Jan 28, 2021
2 parents ea8f436 + 5923b0e commit 197c906
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 22 deletions.
3 changes: 2 additions & 1 deletion zappa/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -2122,7 +2122,8 @@ def load_settings(self, settings_file=None, session=None):
runtime=self.runtime,
tags=self.tags,
endpoint_urls=self.stage_config.get('aws_endpoint_urls',{}),
xray_tracing=self.xray_tracing
xray_tracing=self.xray_tracing,
no_venv=self.vargs.get("no_venv") if self.vargs else None
)

for setting in CUSTOM_SETTINGS:
Expand Down
47 changes: 26 additions & 21 deletions zappa/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ def __init__(self,
runtime='python3.6', # Detected at runtime in CLI
tags=(),
endpoint_urls={},
xray_tracing=False
xray_tracing=False,
no_venv=False
):
"""
Instantiate this new Zappa instance, loading any custom credentials if necessary.
Expand Down Expand Up @@ -289,6 +290,7 @@ def __init__(self,
self.endpoint_urls = endpoint_urls
self.xray_tracing = xray_tracing

self.no_venv = no_venv
# Some common invocations, such as DB migrations,
# can take longer than the default.

Expand Down Expand Up @@ -522,34 +524,37 @@ def create_lambda_zip( self,
if not 'concurrent' in exclude:
exclude.append('concurrent')

def splitpath(path):
parts = []
(path, tail) = os.path.split(path)
while path and tail:
parts.append(tail)
to_exclude = []
if not self.no_venv:
def splitpath(path):
parts = []
(path, tail) = os.path.split(path)
parts.append(os.path.join(path, tail))
return list(map(os.path.normpath, parts))[::-1]
split_venv = splitpath(venv)
split_cwd = splitpath(cwd)

# Ideally this should be avoided automatically,
# but this serves as an okay stop-gap measure.
if split_venv[-1] == split_cwd[-1]: # pragma: no cover
print(
"Warning! Your project and virtualenv have the same name! You may want "
"to re-create your venv with a new name, or explicitly define a "
"'project_name', as this may cause errors."
)
while path and tail:
parts.append(tail)
(path, tail) = os.path.split(path)
parts.append(os.path.join(path, tail))
return list(map(os.path.normpath, parts))[::-1]
split_venv = splitpath(venv)
split_cwd = splitpath(cwd)

# Ideally this should be avoided automatically,
# but this serves as an okay stop-gap measure.
if split_venv[-1] == split_cwd[-1]: # pragma: no cover
print(
"Warning! Your project and virtualenv have the same name! You may want "
"to re-create your venv with a new name, or explicitly define a "
"'project_name', as this may cause errors."
)
to_exclude = [split_venv[-1]]

# First, do the project..
temp_project_path = tempfile.mkdtemp(prefix='zappa-project')
temp_project_path = tempfile.mkdtemp(prefix='zappa-project')

if not slim_handler:
# Slim handler does not take the project files.
if minify:
# Related: https://github.com/Miserlou/Zappa/issues/744
excludes = ZIP_EXCLUDES + exclude + [split_venv[-1]]
excludes = ZIP_EXCLUDES + exclude + to_exclude
copytree(cwd, temp_project_path, metadata=False, symlinks=False, ignore=shutil.ignore_patterns(*excludes))
else:
copytree(cwd, temp_project_path, metadata=False, symlinks=False)
Expand Down

0 comments on commit 197c906

Please sign in to comment.