Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FileNotFoundError]: [Errno 2] No such file or directory #651

Closed
1 task done
laike9m opened this issue Sep 13, 2021 · 1 comment
Closed
1 task done

[FileNotFoundError]: [Errno 2] No such file or directory #651

laike9m opened this issue Sep 13, 2021 · 1 comment
Labels
🐛 bug Something isn't working

Comments

@laike9m
Copy link
Contributor

laike9m commented Sep 13, 2021

  • 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

pdm run -v pytest    

Actual behavior

Traceback (most recent call last):
  File "/Users/laike9m/.local/bin//pdm", line 8, in <module>
    sys.exit(main())
  File "/Users/laike9m/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 198, in main
    return Core().main(args)
  File "/Users/laike9m/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 153, in main
    raise cast(Exception, err).with_traceback(traceback)
  File "/Users/laike9m/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/core.py", line 148, in main
    f(options.project, options)
  File "/Users/laike9m/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/cli/commands/run.py", line 198, in handle
    self._run_command(
  File "/Users/laike9m/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/cli/commands/run.py", line 98, in _run_command
    os.execv(expanded_command, expanded_args)
FileNotFoundError: [Errno 2] No such file or directory

Environment Information

# Paste the output of `pdm info && pdm info --env` below:
PDM version:        1.8.3
Python Interpreter: /Users/laike9m/.pyenv/versions/3.9.7/bin/python (3.9)
Project Root:       /Users/laike9m/Dev/Python/Cyberbrain
Project Packages:   /Users/laike9m/Dev/Python/Cyberbrain/__pypackages__/3.9
{
  "implementation_name": "cpython",
  "implementation_version": "3.9.7",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "19.6.0",
  "platform_system": "Darwin",
  "platform_version": "Darwin Kernel Version 19.6.0: Tue Jun 22 19:49:55 PDT 2021; root:xnu-6153.141.35~1/RELEASE_X86_64",
  "python_full_version": "3.9.7",
  "platform_python_implementation": "CPython",
  "python_version": "3.9",
  "sys_platform": "darwin"
}

Project setup can be found at:
https://github.com/laike9m/Cyberbrain/tree/pdm_migration

@laike9m laike9m added the 🐛 bug Something isn't working label Sep 13, 2021
@laike9m
Copy link
Contributor Author

laike9m commented Sep 13, 2021

Talked to @frostming offline, turns out it's because the shabang in __pypackages__/3.9/bin/pytest was not updated.

More context:

  1. I was using 3.9.0 installed by pyenv
  2. I setup pdm
  3. I installed 3.9.7 and removed 3.9.0
$ cat __pypackages__/3.8/bin/pytest                                                                                                         
#!/Users/laike9m/.pyenv/versions/3.8.0/bin/python3.8
# -*- coding: utf-8 -*-
import re
import sys
from pytest import console_main
if __name__ == "__main__":
    sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])
    sys.exit(console_main()) 

Tried pdm update 3.8 then pdm update 3.8, can see "Updating executable scripts...", but shebang was not updated

 ✘ laike9m@laike9m  ~/D/P/Cyberbrain   pdm_migration S 
 ❯ pdm use 3.8                                                                                                                                
Please enter the Python interpreter to use
0. /Users/laike9m/.pyenv/versions/3.8.12/bin/python3 (3.8)
1. /Users/laike9m/.pyenv/versions/3.8.12/bin/python (3.8)
2. /Users/laike9m/.pyenv/versions/3.8.12/bin/python3.8 (3.8)
3. /usr/local/opt/[email protected]/bin/python3.8 (3.8)
4. /Users/laike9m/.pyenv/versions/3.8.3/bin/python3 (3.8)
5. /Users/laike9m/.pyenv/versions/3.8.3/bin/python (3.8)
6. /Users/laike9m/.pyenv/versions/3.8.3/bin/python3.8 (3.8)
7. /Applications/Xcode.app/Contents/Developer/usr/bin/python3 (3.8)
Please select: [0]: 1
Using Python interpreter: /Users/laike9m/.pyenv/versions/3.8.12/bin/python (3.8)
Updating executable scripts...
>>> elapsed time 13s

 laike9m@laike9m  ~/D/P/Cyberbrain   pdm_migration S 
 ❯ pdm use 3.9                                                                                                                                
Please enter the Python interpreter to use
0. /Users/laike9m/.pyenv/versions/3.9.7/bin/python3 (3.9)
1. /Users/laike9m/.pyenv/versions/3.9.7/bin/python (3.9)
2. /Users/laike9m/.pyenv/versions/3.9.7/bin/python3.9 (3.9)
Please select: [0]: 1
Using Python interpreter: /Users/laike9m/.pyenv/versions/3.9.7/bin/python (3.9)
Updating executable scripts...

 laike9m@laike9m  ~/D/P/Cyberbrain   pdm_migration S 
 ❯ cat __pypackages__/3.9/bin/pytest                                                                                                          
#!/Users/laike9m/.pyenv/versions/3.9.0/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
from pytest import console_main
if __name__ == "__main__":
    sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])
    sys.exit(console_main())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant