2017-09-25 153 views
2

從本地目錄構建我的第一個conda軟件包。 遵循CONDA網站的指示。 https://conda.io/docs/user-guide/tasks/build-packages/recipe.htmlConda Build - 創建Conda軟件包失敗,依賴於平臺win-64

我得到以下錯誤

conda_build.exception.DependencyNeedsBuildingError:爲平臺取勝-64不可滿足依賴性:集合([u'pywinauto」,u'statistics',u'openturns'])

我嘗試了幾個項目,但似乎pywinauto,統計和openturns導致依賴問題。

這裏是我的meta.yml文件

package: 
    name: apples 
    version: "1.0.0" 

source: 
    path: ../src 

target_platform: 
    - win-64 

requirements: 
    build: 
    - python 
    - setuptools 
    - statistics # [win64] 
    - pywinauto # [win64] 
    - openturns # [win64] 
    - matplotlib 
    - numpy 
    - pandas 
    - pip 
    - pyodbc 
    - pyqt 
    - pywin32 
    - qt 
    - scipy 
    - tqdm 
    - xlwings 

    run: 
    - python 
    - matplotlib 
    - numpy 
    - pandas 
    - pip 
    - pyodbc 
    - pyqt 
    - pywin32 
    - qt 
    - scipy 
    - tqdm 
    - xlwings 
    - statistics # [win64] 
    - pywinauto # [win64] 
    - openturns # [win64] 

回答

3

所有您在康達構建使用的軟件包必須可作爲暢達包在您的配置渠道之一。對於您的情況:

+0

當我刪除pywinauto,它未能建立,產生了同樣的錯誤,只是下面的名稱(openturns,統計),我會承擔,因爲他們是在conda-forge頻道,它無線ld只需將它們正常拖拽而不會出錯。這是不是 爲pywinauto,當我試圖運行'conda骨骼pypi pywinauto'這將返回一個導入錯誤沒有找到包發現 我可能只是添加到bld.bat腳本以下 conda install -c conda -y conda install -c conda-forge statistics -y pip install pywinauto – dfresh22

+0

1.你需要在你之前用'conda config --append channels conda-forge'在你的頻道列表中添加'conda-forge'構建包或在構建步驟'conda build -c conda-forge recipe_dir'中指定通道。否則,康達如何知道在哪裏可以找到包裝? – darthbith

+0

2.在構建步驟中,您絕對不應該進行安裝。如果您在構建步驟中進行安裝,用戶將如何獲得他們所需的依賴關係? IIRC,conda-build實際上禁止這種情況發生,但這可能不正確。我知道它禁止在安裝過程中通過setuptools自動安裝軟件包 – darthbith