cool-easter-32542
12/29/2023, 12:14 PMPEX_SCRIPT='pex3' pex venv create -vv --copies --force -d ./tenv --no-build 'cowsay==6.1'
Then remove the first line (import re) of
./tenv/lib/python3.10/site-packages/cowsay/main.py
Then the venv is broken when I run:
./tenv/bin/cowsay -t 'test'
Traceback (most recent call last):
File "/home/zmanji/tmp/./tenv/bin/cowsay", line 14, in <module>
sys.exit(entry_point())
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/__main__.py", line 28, in cli
char_funcs[args.character](args.text)
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/__init__.py", line 24, in func
draw(str(text), char_lines)
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/main.py", line 54, in draw
if len(re.sub(r'\s', '', text)) == 0:
NameError: name 're' is not defined
Even if I delete the venv and recreate it it still suffers from the same problem
rm -rf ./tenv
PEX_SCRIPT='pex3' pex venv create -vv --copies --force -d ./tenv --no-build 'cowsay==6.1'
./tenv/bin/cowsay -t 'test'
Traceback (most recent call last):
File "/home/zmanji/tmp/./tenv/bin/cowsay", line 14, in <module>
sys.exit(entry_point())
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/__main__.py", line 28, in cli
char_funcs[args.character](args.text)
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/__init__.py", line 24, in func
draw(str(text), char_lines)
File "/home/zmanji/tmp/tenv/lib/python3.10/site-packages/cowsay/main.py", line 54, in draw
if len(re.sub(r'\s', '', text)) == 0:
NameError: name 're' is not defined
The only way to fix this is to delete the pex wheel cache.
A way to fix this is to overload the existing --copies flag to also copy files from the wheel cache or to introduce another flag to signal this and change this function
pex/pex/pep_376.py
Lines 350 to 404 in </pantsbuild/pex/commit/4eb5c9aa25c6a695bf55263ab239189b720cebaf|4eb5c9a>
to do copies instead of links.
pantsbuild/pex