簡體   English   中英

Python導入錯誤+ DLL加載失敗+ sys.path

[英]Python Import Error + DLL load failed + sys.path

在Python 2.7.10 Anaconda 2.3.0(64位)中,如果我寫的話

sys.path.append('C:\\Anaconda\\sms-tools-master\\software\\models\\utilFunctions_C\\')
print sys.path

我懂了

C:\\ Anaconda \\ sms-tools-master \\ workspace \\ A1> python A1Part1.py ['C:\\ Anaconda \\ sms-tools-master \\ workspace \\ A1','C:\\ Anaconda \\ python27.zip','C :\\ Anaconda \\ DLLs','C:\\ Anaconda \\ lib','C:\\ Anaconda \\ lib \\ plat-win','C:\\ A naconda \\ lib \\ lib-tk','C:\\ Anaconda', 'C:\\ Anaconda \\ lib \\ site-packages','C:\\ Anaconda \\ lib \\ site-packages \\ Sphinx-1.3.1-py2.7.egg','C:\\ Anaconda \\ lib \\ site-packages \\ cryptography-0.9.1-py2.7-win-amd64.egg','C:\\ Anaconda \\ lib \\ site-pack ages \\ win32','C:\\ Anaconda \\ lib \\ site-packages \\ win32 \\ lib', 'C:\\ Anaconda \\ lib \\ site-packages \\ Pythonwin','C:\\ Anaconda \\ lib \\ site-packages \\ setuptools-17.1。 1-py2.7.egg',“ C:\\ Anaconda \\ sms-tools-master \\ software \\ models \\ utilFunctions_C \\']

  1. 這種添加到sys.path的絕對方法正確嗎? 有相對的方法嗎?
  2. 在下一行python代碼中,我寫了

    從utilFunctions_C導入wavread

我立刻得到

ImportError:無法導入名稱wavread

如果我在cmd中運行代碼,但是如果我在IDLE中運行代碼,則會得到:

['C:\\ Anaconda \\ sms-tools-master \\ workspace \\ A1,'C:\\ Python27 \\ Lib \\ idlelib','C:\\ Windows \\ system32 \\ python27.zip','C:\\ Python27 \\ DLLs ,'C:\\ Python27 \\ lib','C:\\ Python27 \\ lib \\ plat-win','C:\\ Python27 \\ lib \\ lib-tk','C:\\ Python27','C:\\ Python27 \\ lib \\ site-packages','C:\\ Anaconda \\ sms-tools-master \\ software \\ models \\ utilFunctions_C \\']

追溯(最近一次調用):文件“ C:\\ Anaconda \\ sms-tools-master \\ workspace \\ A1 \\ A1Part1.py”,行8,來自utilFunctions_C import wavread ImportError:DLL加載失敗:%1無效Win32應用程序。

那么為什么會有區別,以及如何解決這個問題呢? 日Thnx!

我評論了

from utilFunctions_C import wavread

並使用

from scipy.io.wavfile import read

現在我的代碼還可以。 我找到

utiLFunctions.wavread()是一個包裝,它使用scipy.io.wavfile.read()並將數據縮放到-1和1之間的浮點。如果打開utilFunctions.py,您會看到。

您也可以使用scipy.io.wavfile.read,只要您正確縮放數據並查看wav文件中的數據類型即可。 由於縮放,對於將樣本存儲為int16的wav文件,您將看到scipy.io.wavfile.read返回值將是utilFunctions.wavread返回值的32767倍

講座使用該函數來更明確地解釋該過程。 一旦掌握了它,就可以在課程的其余部分和實際應用中使用包裝器utilFunctions.wavread。

滾動到https://class.coursera.org/audio-002/forum/search Q =無法+進口+姓名+ wavread#15狀態查詢= wavread日及15州PAGE_NUM = 1

更多細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM