我有一个带有几个函数的cli,我使用以下命令将其复制到/local/bin
中:
sudo ln -s ~/code/project/scripts/sl /usr/local/bin/sl
如果我激活虚拟环境并执行sl command_name service
,它会像预期的那样工作。
但是如果尝试从终端运行它,我会得到:
user@MacBook-Pro-USER ~ % sl command_name service
Traceback (most recent call last):
File "/usr/local/bin/sl", line 4, in <module>
from sl_commands.sl import execute
File "/Users/user/code/project/scripts/sl_commands/sl.py", line 1, in <module>
import argh
ImportError: No module named argh
运行pip3 install argh会导致:
user@MacBook-Pro-USER ~ % pip3 install argh
Requirement already satisfied: argh in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (0.26.2)
如果我在ubuntu上尝试同样的方法,脚本就能正确执行。如何在不激活虚拟环境的情况下使其在MacOS上运行?
发布于 2020-09-08 19:35:33
shebang需要是#! /usr/bin/env python3
,而不是python。因为在MacOS上python2是'python‘
https://stackoverflow.com/questions/63791672
复制相似问题