6 ms·
Depending on the platform, virtualenv defaults to creating a symlink to the Python executable. You can override it with --copies, but then you have a new proble
by more-coffee 7y ago
Depending on the platform, virtualenv defaults to creating a symlink to the Python executable. You can override it with --copies, but then you have a new problem: updating the interpreter in all virtualenvs when a new Python release comes out.
- mikepurvis 7y agoOn Ubuntu 16.04, the default behaviour is definitely to copy it, and there are no tricks with hardlinks or anything else: $ virtualenv foo Running virtualenv with interpreter /usr/bin/python2 New python executable in /home/administrator/foo/bin/python2 Also creating executable in /home/administrator/foo/bin/python Installing setuptools, pkg_resources, pip, wheel...done. $ ls -la foo/bin total 3464 drwxrwxr-x 2 administrator administrator 4096 Dec 4 11:06 . drwxrwxr-x 7 administrator administrator 4096 Dec 4 11:06 .. -rw-rw-r-- 1 administrator administrator 2082 Dec 4 11:06 activate -rw-rw-r-- 1 administrator administrator 1024 Dec 4 11:06 activate.csh -rw-rw-r-- 1 administrator administrator 2222 Dec 4 11:06 activate.fish -rw-rw-r-- 1 administrator administrator 1137 Dec 4 11:06 activate_this.py -rwxrwxr-x 1 administrator administrator 252 Dec 4 11:06 easy_install -rwxrwxr-x 1 administrator administrator 252 Dec 4 11:06 easy_install-2.7 -rwxrwxr-x 1 administrator administrator 239 Dec 4 11:06 pip -rwxrwxr-x 1 administrator administrator 239 Dec 4 11:06 pip2 -rwxrwxr-x 1 administrator administrator 239 Dec 4 11:06 pip2.7 lrwxrwxrwx 1 administrator administrator 7 Dec 4 11:06 python -> python2 -rwxrwxr-x 1 administrator administrator 3492656 Dec 4 11:06 python2 lrwxrwxrwx 1 administrator administrator 7 Dec 4 11:06 python2.7 -> python2 -rwxrwxr-x 1 administrator administrator 2341 Dec 4 11:06 python-config -rwxrwxr-x 1 administrator administrator 230 Dec 4 11:06 wheel This is with virtualenv 15.0.1.
- more-coffee 7y agoSorry for slow response, I don't check back here often enough. You're right about virtualenv. I don't realy use that anymore, the venv module added in 3.3 gets the job done. And that does default to symlinks for posix. https://github.com/python/cpython/blob/3.8/Lib/venv/__init__.py#L420 https://github.com/python/cpython/blob/3.8/Lib/venv/__init__...