So, just because it puzzled me a bit. I am doing python developement, and since python is already there, I just used a virtual env. Easy peasy, on python 3, that’s one command away:
python3 -mvenv /tmp/myvenv
But on a silverblue system, it result into that:
$ python3 -mvenv /tmp/myvenv Error: Command '['/tmp/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Digging further, I run the command:
$ /tmp/myvenv/bin/python3 -Im ensurepip --upgrade --default-pip Traceback (most recent call last): File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/lib64/python3.6/ensurepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/usr/lib64/python3.6/ensurepip/__init__.py", line 232, in _main default_pip=args.default_pip, File "/usr/lib64/python3.6/ensurepip/__init__.py", line 111, in _bootstrap new_whl = rewheel.rewheel_from_record(dr, rewheel_dir.name) File "/usr/lib64/python3.6/ensurepip/rewheel/__init__.py", line 75, in rewheel_from_record new_wheel.write(os.path.join(site_dir, f), arcname=f) File "/usr/lib64/python3.6/zipfile.py", line 1594, in write zinfo = ZipInfo.from_file(filename, arcname) File "/usr/lib64/python3.6/zipfile.py", line 496, in from_file zinfo = cls(arcname, date_time) File "/usr/lib64/python3.6/zipfile.py", line 338, in __init__ raise ValueError('ZIP does not support timestamps before 1980') ValueError: ZIP does not support timestamps before 1980
Digging even further, I found that venv try to create a wheel from installed packages, and those have a date in the past, because ostree generate reproductible images. I searched around, and stumbled on the following bug: https://www.bugs.python.org/issue34097 . I couldn’t find more information, but I am going to ask around.
So I guess for now, my advice is to use venv in a container, since the venv generate on ostree is not functional, or rather do not have pip (due to the aformentioned issue), so slightly useful for my purpose of developing.