diff --git a/pipenv/core.py b/pipenv/core.py index be67c8f5e0..d97e89a7a3 100644 --- a/pipenv/core.py +++ b/pipenv/core.py @@ -1889,13 +1889,19 @@ def do_install( # Capture -e argument and assign it to following package_name. more_packages = list(more_packages) if package_name == '-e': + if not more_packages: + raise click.BadArgumentUsage('Please provide path to editable package') package_name = ' '.join([package_name, more_packages.pop(0)]) # capture indexes and extra indexes line = [package_name] + more_packages + line = ' '.join(str(s) for s in line).strip() index_indicators = ['-i', '--index', '--extra-index-url'] index, extra_indexes = None, None - if more_packages and any(more_packages[0].startswith(s) for s in index_indicators): - line, index = split_argument(' '.join(line), short='i', long_='index', num=1) + if any(line.endswith(s) for s in index_indicators): + # check if cli option is not end of command + raise click.BadArgumentUsage('Please provide index value') + if any(s in line for s in index_indicators): + line, index = split_argument(line, short='i', long_='index', num=1) line, extra_indexes = split_argument(line, long_='extra-index-url') package_names = line.split() package_name = package_names[0]