Skip to content

Commit 7c02390

Browse files
committed
Merge pull request #44 from ryandub/requirements_path
Look for requirements.txt in function_dir
2 parents 84533b6 + d47f95f commit 7c02390

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

lambda_uploader/package.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,9 @@ def prepare_workspace(self):
7171
os.mkdir(self._temp_workspace)
7272

7373
def prepare_virtualenv(self):
74+
requirements_file = os.path.join(self._path, "requirements.txt")
7475
requirements_exist = \
75-
self._requirements or os.path.isfile("requirements.txt")
76+
self._requirements or os.path.isfile(requirements_file)
7677
if self._virtualenv and self._virtualenv is not False:
7778
if not os.path.isdir(self._virtualenv):
7879
raise Exception("virtualenv %s not found" % self._virtualenv)
@@ -125,11 +126,12 @@ def install_requirements(self):
125126
cmd = [os.path.join(self._pkg_venv, self._venv_pip),
126127
'install'] + self._requirements
127128

128-
elif os.path.isfile("requirements.txt"):
129+
elif os.path.isfile(os.path.join(self._path, "requirements.txt")):
129130
# Pip install
130131
LOG.debug("Installing requirements from requirements.txt file")
131132
cmd = [os.path.join(self._pkg_venv, self._venv_pip),
132-
"install", "-r", "requirements.txt"]
133+
"install", "-r",
134+
os.path.join(self._path, "requirements.txt")]
133135

134136
if cmd is not None:
135137
prc = Popen(cmd, stdout=PIPE, stderr=PIPE)

test/test_package.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ def test_prepare_workspace():
3838
temp_workspace = path.join(TESTING_TEMP_DIR,
3939
package.TEMP_WORKSPACE_NAME)
4040

41-
pkg = package.Package(TESTING_TEMP_DIR)
41+
reqs = ['pytest']
42+
pkg = package.Package(TESTING_TEMP_DIR, requirements=reqs)
4243
pkg.prepare_workspace()
4344
pkg.prepare_virtualenv()
4445
assert path.isdir(temp_workspace)
@@ -68,7 +69,8 @@ def test_install_requirements():
6869
def test_default_virtualenv():
6970
temp_workspace = path.join(TESTING_TEMP_DIR,
7071
package.TEMP_WORKSPACE_NAME)
71-
pkg = package.Package(TESTING_TEMP_DIR)
72+
reqs = ['pytest']
73+
pkg = package.Package(TESTING_TEMP_DIR, requirements=reqs)
7274
pkg.prepare_virtualenv()
7375
# ensure we picked a real venv path if using default behavior
7476
assert pkg._pkg_venv == ("%s/venv" % temp_workspace)

0 commit comments

Comments
 (0)