我有一个安装在共享开发系统上的软件包。我希望该软件包引入的脚本只对我的用户(或任何其他请求者)可用。为了安装该软件包,我正在使用以下命令从软件包目录中执行:
python setup.py install --home=~
到目前为止,这样做的效果都很好。它安装了我的模块并将脚本放在/home/$(whoami)/bin目录中。
然而,它替换了脚本文件中的shebang。因此,不再是友好的#!/usr/bin/env python,而是替换为#!/usr/bin/python。
现在,由于我的软件包仅安装给当前用户,因此无法查看软件包内部的模块进行导入。
因此,由于我的脚本从软件包内部导入函数,因此从命令行运行它们会导致导入错误。
使用交互式Python解释器可以让我使用与我想要运行的脚本中导入行完全相同的文本导入文件。
有人知道如何解决这个问题吗?
P.S. 对于可预见的未来,我无法控制此设置中的Python版本。它是2.3.4。
到目前为止,这样做的效果都很好。它安装了我的模块并将脚本放在/home/$(whoami)/bin目录中。
然而,它替换了脚本文件中的shebang。因此,不再是友好的#!/usr/bin/env python,而是替换为#!/usr/bin/python。
现在,由于我的软件包仅安装给当前用户,因此无法查看软件包内部的模块进行导入。
因此,由于我的脚本从软件包内部导入函数,因此从命令行运行它们会导致导入错误。
使用交互式Python解释器可以让我使用与我想要运行的脚本中导入行完全相同的文本导入文件。
有人知道如何解决这个问题吗?
P.S. 对于可预见的未来,我无法控制此设置中的Python版本。它是2.3.4。