python与nohup的运行方式不同

埃里克森拉

我有一个python软件包,在以方式启动时可以正常运行python -m myproject但是,当我启动as时nohup python -m myproject,会得到一个ImportError此外,当我以启动时nohup python3 -m myproject,它可以正常工作。

看来问题是mypython别名为python3,而nohup以某种方式使用了非默认的python。为什么会这样呢?

戴维·格雷森

您的外壳程序(可能是bash)已分配了一个别名,以便每当您python在命令开头键入内容时,它将更改为/usr/bin/python3我很难说出您为什么要使用该别名。可能是您的系统管理员希望每个人默认都使用Python 3而不是Python 2,而这是试图实现这一点的尝试。

/usr/bin/python是Python 2二进制文件的符号链接。这似乎很正常。在很多Linux发行版(例如Debian)中,通常python都提到Python 2,因为Python 3还不够流行。但是,情况并非总是如此。在Arch Linux上,python指的是Python 3。

因此,如果我不得不猜测,我会说您系统的软件包管理器安装了从/usr/bin/python的符号链接/usr/bin/python2.7因为它的策略是默认情况下人们使用Python 2。但是其他在配置系统时有发言权的人决定,默认情况下希望使用Python 3,因此他们安装了此别名。

如您所见,别名并非始终有效。当您键入nohup python,shell就不会扩大你的别名,而不是仅仅将字符串python作为参数的nohup命令。nohup然后,命令必须弄清楚是什么python意思,而它所做的只是查看您的PATH;它不知道您的外壳别名。它将找到/usr/bin/python并最终为您运行Python 2。

您可以阅读Shell手册,以了解启动时运行的文件(例如.bashrc之类的东西)。这将帮助您找出为什么外壳程序具有该Python 3别名的原因。查找类似以下内容的行:

alias python=python3

您可以阅读有关系统的软件包管理器的信息,以了解如何查看哪些文件属于哪些软件包,这可以帮助您确定为什么存在Python 2的符号链接。只需询问软件包管理器,便是拥有该/usr/bin/python链接的软件包

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Crontab 以不同的方式运行 bash

来自分类Dev

python以不同的方式猜测数字

来自分类Dev

Python pandas 以不同的方式分组

来自分类Dev

运行Python脚本的方式差异

来自分类Dev

运行状况与HealthKit的处理方式不同,Swift的处理方式不同

来自分类Dev

为什么此regex在sed中的运行方式与在Perl / Ruby中的运行方式不同?

来自分类Dev

为什么此regex在sed中的运行方式与在Perl / Ruby中的运行方式不同?

来自分类Dev

JS:为什么代码在控制台上的运行方式与.js文件中的运行方式不同?

来自分类Dev

Pygame运行与不同的python解释器不同

来自分类Dev

使用 python 运行不同的代码

来自分类Dev

合并来自Postgres DB的2个模式与不同的运行方式

来自分类Dev

运行Shell脚本的不同方式之间的区别

来自分类Dev

检测是否在VM中运行并根据其安装方式不同

来自分类Dev

链接时,mcedit的运行方式有所不同

来自分类Dev

在 DC/OS 上运行服务的不同方式

来自分类Dev

Python argparse以不同方式对待参数

来自分类Dev

Python以不同的方式遍历多维numpy数组

来自分类Dev

Python:以编程方式运行“点列表”

来自分类Dev

在 nohup 上运行顺序命令

来自分类Dev

有没有办法为正在运行的python程序解缓冲nohup?

来自分类Dev

使用Python在SSH到服务器后使用nohup运行进程

来自分类Dev

mdg:geolocation似乎在我的本地主机上的运行方式与在myApp.meteor.com上的运行方式不同

来自分类Dev

通过任务计划程序运行时,Powershell 的运行方式不同

来自分类Dev

Conda和Anaconda运行不同的Python安装?

来自分类Dev

从不同的工作目录运行Python脚本

来自分类Dev

在不同的python补丁版本上运行tox

来自分类Dev

从运行不同 python 版本的系统激活 virtualenv

来自分类Dev

在不同的输出上使用nohup和时间

来自分类Dev

使用nohup运行脚本时出错

Related 相关文章

  1. 1

    Crontab 以不同的方式运行 bash

  2. 2

    python以不同的方式猜测数字

  3. 3

    Python pandas 以不同的方式分组

  4. 4

    运行Python脚本的方式差异

  5. 5

    运行状况与HealthKit的处理方式不同,Swift的处理方式不同

  6. 6

    为什么此regex在sed中的运行方式与在Perl / Ruby中的运行方式不同?

  7. 7

    为什么此regex在sed中的运行方式与在Perl / Ruby中的运行方式不同?

  8. 8

    JS:为什么代码在控制台上的运行方式与.js文件中的运行方式不同?

  9. 9

    Pygame运行与不同的python解释器不同

  10. 10

    使用 python 运行不同的代码

  11. 11

    合并来自Postgres DB的2个模式与不同的运行方式

  12. 12

    运行Shell脚本的不同方式之间的区别

  13. 13

    检测是否在VM中运行并根据其安装方式不同

  14. 14

    链接时,mcedit的运行方式有所不同

  15. 15

    在 DC/OS 上运行服务的不同方式

  16. 16

    Python argparse以不同方式对待参数

  17. 17

    Python以不同的方式遍历多维numpy数组

  18. 18

    Python:以编程方式运行“点列表”

  19. 19

    在 nohup 上运行顺序命令

  20. 20

    有没有办法为正在运行的python程序解缓冲nohup?

  21. 21

    使用Python在SSH到服务器后使用nohup运行进程

  22. 22

    mdg:geolocation似乎在我的本地主机上的运行方式与在myApp.meteor.com上的运行方式不同

  23. 23

    通过任务计划程序运行时,Powershell 的运行方式不同

  24. 24

    Conda和Anaconda运行不同的Python安装?

  25. 25

    从不同的工作目录运行Python脚本

  26. 26

    在不同的python补丁版本上运行tox

  27. 27

    从运行不同 python 版本的系统激活 virtualenv

  28. 28

    在不同的输出上使用nohup和时间

  29. 29

    使用nohup运行脚本时出错

热门标签

归档