Can I tell `pip install -e` *not* to use the VCS link, just the files

I have a set of utilities which I use in several projects. I’ve put them into a miscellany package and use pip install -e <path> to make them accessible in other projects. pip, seeing that the <path> is to a git repository, uses a git reference to the source repository. Then, when I use pip freeze is contains a line starting -e git+/mnt/nas/repos/...

I can see why this might be a useful thing to do, but not it my case. (This line in the requirements.txt file is causing problems with access to a network drive.) If I remove/rename the .git directory in <path>, pip will use the <path> driectly, rather than the reference to the repos (such as -e /home/steve/...).

Is there a way to tell pip install -e not to use the repos, but to use the <path> reference instead? I could edit the requirements.txt file directly, but I prefer to generate it from pip freeze >requirements.txt. I just want an option to tell pip install -e not to use the repos.

Your post is not formatted too well.

Based on a quick read though, you might want to use pip list --format=freeze instead.

Thanks for the prompt reply, and sorry about the formatting.

pip list --format=freeze gives me a list of packages, but does not identify that my miscellany package is local at a and should be installed with the -e option


I want the miscellany line to read something like:

-e /home/steve/workspace/miscellany/src

When pip sees that the miscellany path is a git repository, it uses:

-e git+/mnt/nas/repos/miscellany.git@93dd3284b9ff8156ff73af3c074fe2c9362a4ff4#egg=miscellany_pkg_Steve_Palmer


Hmm. Looks like I can build my requirements.txt file with something like:

# create an editable-requirements.txt file with the `-e /home/steve/...` that I want, then
$ pip freeze --exclude-editable | cat - editable-requirements.txt >requirements.txt

Maybe better, I can have my separate editable-requirements file with the -e ... line, and them seed the requirements.txt file with:

-r editable-requirements.txt

Then I update the requirements.txt file with something like:

$ mv requirements.txt /tmp
$ pip freeze --exclude-requirements -r /tmp/requirements.txt >requirements.txt