Spyder環境里, 如何導入自己編寫的模塊?


Spyder環境里, 如何導入自己編寫的模塊?

緣由

該問題的實質是如何讓自編模塊所在的目錄加入到python的搜索路徑里.

因為導入操作都是執行同樣的命令: import myudf
只是因為其路徑不在pythonpath的名單里, 所以會拋出:

ImportError: No Module named blabla.

解決辦法:

假設: myudf.py所在的路徑為: c:\abc\xyz

方法1: 用Sypder工具:

Tools/PYTHONPATH manager: to open a window
Add and Select the target path to PYTHONPYTH
then 同步(spyder與python的路徑同步)
then OK to close this dialog window

then open a new Ipython console,
with in it, I can import myudf without error.

注意:

一定要重新打開一個Ipython控制台, 讓腳本在新的控制台里運行才行.
這是因為新建控制台時, 新設置的spyder環境里的PYTHONPATH變量, 才會在它的初始化過程里生效.
原來的Ipython控制台里依舊時老的pathonpath, 應該把它關閉.

方法2: 寫腳本

該方法未經本人親測. 是網摘過來的, 相信也能成功的.

import sys
sys.path.append("folder_containing_my_python_util_script")
import my_util

確認標的目錄是否加入了"搜索路徑列表"

在新的IPython窗口里輸入: sys.path 得到:

sys.path
Out[9]: 
['',
 'd:\\Anaconda2\\lib\\site-packages\\pybacktest-0.1-py2.7.egg',
 'C:\\Documents and Settings\\Administrator\\duanqs\\script',
 'D:\\DB\\myutil',
 'd:\\Anaconda2\\python27.zip',
 'd:\\Anaconda2\\DLLs',
 'd:\\Anaconda2\\lib',
 'd:\\Anaconda2\\lib\\plat-win',
 'd:\\Anaconda2\\lib\\lib-tk',
 'd:\\Anaconda2',
 'd:\\anaconda2\\lib\\site-packages\\sphinx-1.3.5-py2.7.egg',
 'd:\\anaconda2\\lib\\site-packages\\setuptools-20.3-py2.7.egg',
 'd:\\Anaconda2\\lib\\site-packages',
 'd:\\Anaconda2\\lib\\site-packages\\win32',
 'd:\\Anaconda2\\lib\\site-packages\\win32\\lib',
 'd:\\Anaconda2\\lib\\site-packages\\Pythonwin',
 'd:\\Anaconda2\\lib\\site-packages\\IPython\\extensions',
 'C:\\Documents and Settings\\Administrator\\.ipython']

在舊的IPython控制台里的查看結果:

sys.path
Out[125]: 
['',
 'd:\\Anaconda2\\lib\\site-packages\\pybacktest-0.1-py2.7.egg',
 'D:\\DB\\myutil',
 'd:\\Anaconda2\\python27.zip',
 'd:\\Anaconda2\\DLLs',
 'd:\\Anaconda2\\lib',
 'd:\\Anaconda2\\lib\\plat-win',
 'd:\\Anaconda2\\lib\\lib-tk',
 'd:\\Anaconda2',
 'd:\\anaconda2\\lib\\site-packages\\sphinx-1.3.5-py2.7.egg',
 'd:\\anaconda2\\lib\\site-packages\\setuptools-20.3-py2.7.egg',
 'd:\\Anaconda2\\lib\\site-packages',
 'd:\\Anaconda2\\lib\\site-packages\\win32',
 'd:\\Anaconda2\\lib\\site-packages\\win32\\lib',
 'd:\\Anaconda2\\lib\\site-packages\\Pythonwin',
 'd:\\Anaconda2\\lib\\site-packages\\IPython\\extensions',
 'C:\\Documents and Settings\\Administrator\\.ipython']

對比后, 發現第二行處的目錄:
'C:\Documents and Settings\Administrator\duanqs\script'
就是新加入的目錄.
然也!!!!!

特意留下俺的爪印.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM