2015-07-04 35 views
1

我寫了一個腳本,我需要每天兩次運行之前。我的意圖是編寫腳本,然後按照必要的時間表運行它作爲cron作業。
我在spyder IDE中編寫了腳本,它從那裏完美運行。我也可以通過輸入python python_daily_update.py從終端運行它。Python腳本不會在命令行中運行,但會在被「巨蟒」

我已經加入了#!/usr/bin/python語句腳本的前面和可執行做到了。 當我嘗試沒有「蟒蛇」繼續運行它的命令行腳本,我得到一個錯誤如下:

$ python_daily_update.py 
Failed to import the site module 
Traceback (most recent call last): 
    File "/usr/lib/python3.4/site.py", line 586, in <module> 
    main() 
    File "/usr/lib/python3.4/site.py", line 572, in main 
    known_paths = addusersitepackages(known_paths) 
    File "/usr/lib/python3.4/site.py", line 287, in addusersitepackages 
    user_site = getusersitepackages() 
    File "/usr/lib/python3.4/site.py", line 263, in getusersitepackages 
    user_base = getuserbase() # this will also set USER_BASE 
    File "/usr/lib/python3.4/site.py", line 253, in getuserbase 
    USER_BASE = get_config_var('userbase') 
    File "/usr/lib/python3.4/sysconfig.py", line 597, in get_config_var 
    return get_config_vars().get(name) 
    File "/usr/lib/python3.4/sysconfig.py", line 540, in get_config_vars 
    _init_posix(_CONFIG_VARS) 
    File "/usr/lib/python3.4/sysconfig.py", line 412, in _init_posix 
    from _sysconfigdata import build_time_vars 
    File "/usr/lib/python3.4/_sysconfigdata.py", line 6, in <module> 
    from _sysconfigdata_m import * 
ImportError: No module named '_sysconfigdata_m' 

我運行Linux Mint的17.1。我相信路線有問題,但我似乎無法弄清楚它是什麼。有任何想法嗎?

+0

您在使用Spyder的範圍內,並在終端相同的Python版本? –

+0

我相信版本是一樣的。這是我在打開python實例時從命令行獲得的內容:python Python 3.4.1 | Anaconda 2.1.0(64-bit)| (默認情況下,2014年9月10日,17點10分十八秒) [GCC 4.4.7 20120313(紅帽4.4.7-1)在Linux上 鍵入 「help」, 「版權」, 「信用」 或 「許可」 爲更多信息。 – t3chap

+0

我安裝了anaconda3到我的主目錄。當然python已經安裝到了mint中。 – t3chap

回答

1

在命令行下執行:

驗證其蟒如果輸出等於你在腳本的開頭寫道,如果不只是改變它,它會工作。

腳本必須像這樣運行:./python_daily_update.py

+0

是的。其實我有錯誤的路徑(我想我已經複製了一些東西沒有從計算器中獲得)。在我修好之後,使用「./」使它工作。爲什麼是這樣? – t3chap

+0

如果將來遇到這種情況:應該檢查的另一件事是文件被設置爲可執行文件,使用'ls -l'和'chmod'作爲適當的。 – JGreenwell

1

在LINUX/UNIX除非可執行文件在PATH,你必須告訴它的文件,所以./python_daily_update.py告訴外殼,可執行在當前目錄即.

的家當不指向您的蟒蛇安裝要麼所以你也需要改變。

0

我沒有注意到的shell正在運行,但總的原則是會有被裝入外殼時加載的RC文件,你應該有它的路徑語句,包括./作爲一個在shell找到的腳本或程序中遇到的可執行文件的搜索路徑。如果你沒有它,你會得到你描述的行爲。

相關問題