- I have searched the issue tracker and believe that this is not a duplicate.
Make sure you run commands with -v flag before pasting the output.
Steps to reproduce
Install PDM with pipx using Python 3.9:
pipx install pdm --python python3.9
In a project, run pdm use -f 3.6, then pdm install -d:
Actual behavior
% pdm install -d File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py", line 1 from __future__ import annotations ^ SyntaxError: future feature annotations is not defined [CalledProcessError]: Command '['/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.6.9/bin/python', '-I', '/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py']' returned non-zero exit status 1. Add '-v' to see the detailed traceback
% pdm install -dv File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py", line 1 from __future__ import annotations ^ SyntaxError: future feature annotations is not defined Traceback (most recent call last): File "/home/pawamoy/.local/bin/pdm", line 8, in <module> sys.exit(main()) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 179, in main return Core().main(args) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 142, in main raise err.with_traceback(traceback) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 137, in main f(options.project, options) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/cli/commands/install.py", line 40, in handle actions.do_sync( File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/cli/actions.py", line 127, in do_sync handler.synchronize() File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/synchronizers.py", line 263, in synchronize to_add, to_update, to_remove = self.compare_with_working_set() File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/installers/synchronizers.py", line 118, in compare_with_working_set environment = self.environment.marker_environment File "/usr/lib/python3.9/functools.py", line 969, in __get__ val = self.func(instance) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/models/environment.py", line 330, in marker_environment return get_pep508_environment(self.python_executable) File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/models/in_process.py", line 63, in get_pep508_environment return json.loads(subprocess.check_output(args)) File "/usr/lib/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.6.9/bin/python', '-I', '/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py']' returned non-zero exit status 1.
Expected behavior
I hope PDM will continue to support Python versions less than 3.7!
Environment Information
% pdm info && pdm info --env PDM version: 1.5.0b0 Python Interpreter: /home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.6.9/bin/python (3.6.9) Project Root: /media/data/dev/pawamoy/copier-templates-extensions Project Packages: /media/data/dev/pawamoy/copier-templates-extensions/__pypackages__/3.6 File "/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py", line 1 from __future__ import annotations ^ SyntaxError: future feature annotations is not defined [CalledProcessError]: Command '['/home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.6.9/bin/python', '-I', '/home/pawamoy/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep508.py']' returned non-zero exit status 1. Add '-v' to see the detailed traceback
😱
% pdm use -f 3.7 Using Python interpreter: /home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.7.5/bin/python (3.7.5) Updating executable scripts...
% pdm info && pdm info --env PDM version: 1.5.0b0 Python Interpreter: /home/pawamoy/.basher-packages/pyenv/pyenv/versions/3.7.5/bin/python (3.7.5) Project Root: /media/data/dev/pawamoy/copier-templates-extensions Project Packages: /media/data/dev/pawamoy/copier-templates-extensions/__pypackages__/3.7 { "implementation_name": "cpython", "implementation_version": "3.7.5", "os_name": "posix", "platform_machine": "x86_64", "platform_release": "5.11.11-arch1-1", "platform_system": "Linux", "platform_version": "#1 SMP PREEMPT Tue, 30 Mar 2021 14:10:17 +0000", "python_full_version": "3.7.5", "platform_python_implementation": "CPython", "python_version": "3.7", "sys_platform": "linux" }