我的linux机器上安装了python 2.7,我正尝试通过crontab安排python脚本。该脚本可以从命令行正常运行,但是通过cron运行时,我得到:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site.py", line 553, in <module>
    main()
  File "/usr/local/lib/python2.7/site.py", line 535, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/local/lib/python2.7/site.py", line 268, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/local/lib/python2.7/site.py", line 243, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/local/lib/python2.7/site.py", line 233, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/local/lib/python2.7/sysconfig.py", line 535, in get_config_var
    return get_config_vars().get(name)
  File "/usr/local/lib/python2.7/sysconfig.py", line 434, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/local/lib/python2.7/sysconfig.py", line 298, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open /usr/include/python2.7/pyconfig.h (No such file or directory)

我看到/usr/include/python2.7不存在,但是/usr/local/include/python2.7/存在。我在安装python时出错了吗?

最佳答案

您可能只安装了2个版本,其中一个已损坏。如果您的cron只是直接调用python而不是特定路径,则您的PATH可能在/usr/bin之前包含/usr/local/bin(这是典型的)-因此,在您的cron中,指定要使用的python,或删除/usr/bin中的现有python并将符号链接(symbolic link)/path/to/good/python替换为/usr/bin/python

编辑:从头开始,只需重新阅读,即可从命令行中正常工作。 python-dev可能是要走的路。抱歉!

08-06 05:23
查看更多