tob*_*ven 8 python macos terminal path
我在Mac OS 10.6 Snow Leopard上,我正在尝试在我的PATH变量中添加一个目录,这样我就可以在终端提示符下输入:python alarm.py来编写一个小脚本.
我把路径放在我的.profile文件中,它似乎出现在我回显$ PATH时,但是python仍然无法找到我放在该目录中的脚本.
这是我的主目录中的.profile文件的内容:
~ toby$ vim .profile
export PATH=/Users/tobylieven/Documents/my_scripts:$PATH
Run Code Online (Sandbox Code Playgroud)
这是echo $ PATH的输出,其中一切似乎都很好:
~ toby$ echo $PATH
/Users/tobylieven/Documents/my_scripts:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试运行的脚本:
~ toby$ ls /Users/tobylieven/Documents/my_scripts
-rwxrwxrwx@ 1 tobylieven staff 276 17 Jan 21:17 alarm.py
Run Code Online (Sandbox Code Playgroud)
这是我试图用来运行脚本的命令和我得到的失败消息:
~ toby$ python alarm.py
python: can't open file 'alarm.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果有人知道我可能做错了什么,那就太好了.非常感谢.
phi*_*hag 18
PATH仅适用于可执行文件,不适用于python脚本.将以下内容添加到Python脚本的开头:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
并运行
sudo chmod a+x /Users/tobylieven/Documents/my_scripts/alarm.py
Run Code Online (Sandbox Code Playgroud)
然后,您可以键入alarm.py以执行您的程序.
更改 alarm.py 以包括:
#!/bin/python
Run Code Online (Sandbox Code Playgroud)
作为文件中的第一行。
(或 /usr/bin/python,取决于您的 Python 解释器所在的位置。您可以通过which python在终端中键入:来解决这个问题。)
然后你可以直接运行alarm.py而不是python alarm.py.
例如:
~ toby$ alarm.py
Run Code Online (Sandbox Code Playgroud)
比我领先几秒的phihag是对的,你需要给alarm.py添加执行权限(通过chmod)。
which python3 或者 which python
选择你想要的
复制那个输出
将它粘贴到你的 python 文件的顶部
#!在该路径前面添加一个,使其看起来像
#!/usr/local/bin/python3确保更改文件权限
chmod +x filename将该文件放在您路径中的文件夹中
echo $path
先找到你的路
echo $HOME
如果您使用的是 bash 或 zsh,您可能会遇到这样的情况
在~/.bash_profile或~/.bashrc或~/.zshrc在你的文件底部
export PYTHON_UTILS="$HOME/code/python/utils"
export PATH="$PYTHON_UTILS:$PATH"
考虑.py从您的文件中删除bc 在这种情况下不需要
关闭并打开您的终端,该终端通过其路径获取您的文件
现在你应该能够像对待 bash 命令一样对待你的 python 文件
你不需要使用python3 filename.py来运行文件,你可以使用filename
| 归档时间: |
|
| 查看次数: |
40947 次 |
| 最近记录: |