So I think I noticed a safety issue with the new s...
# general
h
So I think I noticed a safety issue with the new symlink feature. It seems like you can call
export
with the symlink flag and it rightfully says it puts an immutable venv in place. However, if you do this without clearing the export that didn't use the symlink, you still have
pip
and
python
in the
bin
directory. Is that expected?
I was also seeing some weird behavior so I nuked
named_caches
and then ran the export again and it linked to a directory that I just deleted
Using
--no-local-cache
ran things up properly
oh interesting. Following the
--no-local-cache
, a subsequent
./pants export
symlinked back to a removed directory
Copy code
~/devel/monorepo (move-dev-reqs)$ rm -rf ~/.cache/pants/
~/devel/monorepo (move-dev-reqs)$ ./pants export --export-symlink-python-virtualenv --resolve=python-default
Bootstrapping Pants using /usr/bin/python3.9
Creating the virtualenv PEX.
Downloading the Pex PEX.
SHA256 fingerprint of <https://github.com/pantsbuild/pex/releases/download/v2.1.103/pex> verified.
Installing pantsbuild.pants==2.15.0 into a virtual environment at /home/nathanael/.cache/pants/setup/bootstrap-Linux-x86_64/2.15.0_py39
New virtual environment successfully created at /home/nathanael/.cache/pants/setup/bootstrap-Linux-x86_64/2.15.0_py39.
Wrote symlink to immutable virtualenv for python-default (using Python 3.8.10) to dist/export/python/virtualenvs/python-default
~/devel/monorepo (move-dev-reqs)$ ls dist/export/python/virtualenvs/python-default/
3.8.10
~/devel/monorepo (move-dev-reqs)$ ls -lh dist/export/python/virtualenvs/python-default/3.8.10 
lrwxrwxrwx 1 nathanael nathanael 138 Mar 14 18:47 dist/export/python/virtualenvs/python-default/3.8.10 -> /home/nathanael/.cache/pants/named_caches/pex_root/venvs/c978a68158a371b508ccdfb785cf9438c7adcf3b/ddab8011daaee380698ac2fb9701af18c90c03f6
~/devel/monorepo (move-dev-reqs)$ ls ~/.cache/pants/named_caches/
ls: cannot access '/home/nathanael/.cache/pants/named_caches/': No such file or directory
even more concerning. Removing the entire cache contents still points things back to this no-name directory
going to move to a bug ticket