2015-04-07 19 views
2

這是對以下問題的更新,因爲我發現在包含名爲code.py的任何腳本的目錄中啓動bokeh_server時會發生同樣的情況。爲什麼IPython在它開始的目錄中執行code.py?

我有一個目錄,/Users/xnx/temp/包含許多(主要是一次性)文件,包括各種腳本。當我從我的Anaconda py33虛擬環境中的命令啓動IPython時,它似乎在將我放入IPython shell之前運行其中的一個腳本,因爲在IPython顯示其提示符之前,我得到了輸出到屏幕的數字及其多維數據集的列表:

Xnx-Mac:temp xnx$ py33 
discarding /Users/xnx/anaconda/bin from PATH 
prepending /Users/xnx/anaconda/envs/py33/bin to PATH 
(py33)Xnx-Mac:temp xnx$ ipython 
0 
0 
1 
1 
2 
8 
... 
99 
970299 
Python 3.3.5 |Anaconda 2.0.1 (x86_64)| (default, Sep 2 2014, 13:57:31) 
Type "copyright", "credits" or "license" for more information. 

IPython 2.3.0 -- An enhanced Interactive Python. 
Anaconda is brought to you by Continuum Analytics. 
Please check out: http://continuum.io/thanks and https://binstar.org 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

In [1]: 

py33只是source activate py33的bash別名)。

這似乎沒有造成任何傷害,但我想知道它爲什麼會發生。有任何想法嗎?

編輯:好的:有問題的腳本是我/Users/xnx/temp/目錄中名爲code.py的文件。爲什麼IPython在啓動它的shell之前執行這個文件?如果它包含從我的系統中刪除文件的命令呢?其他人可以重現嗎?它似乎並沒有發生爲Python 2

+0

還設置了其他的bash別名? – AGS

+0

沒有記錄......但看到我的編輯。 – xnx

+0

查找環境變量'PYTHON_STARTUP'(我認爲)...在開始ipython之前打印'env' –

回答

2

嘛,有一點(很多)從chat.stackoverflow.com help,我已經找到了問題所在: 我~/.bash_profile文件包含的行

export PYTHONPATH="/Users/xnx/research/python_modules:$PYTHONPATH" 

它將環境變量PYTHONPATH設置爲/Users/xnx/research/python_modules:,因爲$PYTHONPATH先前未定義。尾部冒號導致''被添加到sys.path,並且在啓動時在IPython import中正確的文件之前搜索文件code.py的當前工作目錄。

獲得的經驗教訓:不要讓$PYTHONPATH有尾隨冒號。

相關問題