2015-07-03 34 views
10

scikits.audiolab dosyasını pip aracını kullanarak yüklemeye çalışıyorum. Pip'in scikits.audiolab kaynak dizininden python setup.py egg_info komutunu çalıştırdığı görülüyor.python setup.py egg_info kullanırken scikits.audiolab yüklenirken hata oluştu

Andrews-MacBook-Pro-2:scikits.audiolab-0.11.0 andrewhannigan$ pip install scikits.audiolab 
Collecting scikits.audiolab 
    Using cached scikits.audiolab-0.11.0.tar.gz 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 
     File "<string>", line 20, in <module> 
     File "/private/var/folders/xb/qwlsm44s1wxfr82kytrgjtl80000gn/T/pip-build-vSZaU8/scikits.audiolab/setup.py", line 32, in <module> 
     from numpy.distutils.core import setup 
    ImportError: No module named numpy.distutils.core 

    ---------------------------------------- 
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/xb/qwlsm44s1wxfr82kytrgjtl80000gn/T/pip-build-vSZaU8/scikits.audiolab 

meselenin numpy.distutils.core alamıyor açıkça şudur: bu şekilde hareket ettiğinde, bu hatayı alabilirsiniz. setup.py komut baktığımızda, bu ithalat (aşağıdaki pasajı alt kısmında) erken olur:

#! /usr/bin/env python 
# Last Change: Fri Mar 27 05:00 PM 2009 J 

# Copyright (C) 2006-2007 Cournapeau David <[email protected]> 
# 
# This library is free software; you can redistribute it and/or modify it under 
# the terms of the GNU Lesser General Public License as published by the Free 
# Software Foundation; either version 2.1 of the License, or (at your option) any 
# later version. 
# 
# This library is distributed in the hope that it will be useful, but WITHOUT ANY 
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
# details. 
# 
# You should have received a copy of the GNU Lesser General Public License along 
# with this library; if not, write to the Free Software Foundation, Inc., 51 
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 

# TODO: 
# - check how to handle cmd line build options with distutils and use 
# it in the building process 

from os.path import join 
import os 
import sys 

# The following is more or less random copy/paste from numpy.distutils ... 
import setuptools 

from distutils.errors import DistutilsError 
from numpy.distutils.core import setup 

garip bir parçası olduğunu ben sadece python setup.py aracılığıyla setup.py senaryonun yukarıdaki pasajı çalıştırırsanız Alma hatası almıyorum. egg_info komut satırı argümanı, setup.py'nin çalışma şeklini nasıl etkiler ve neden python'un numpy.distutils.core'dan neden aktarılamayacağını anlar?

+1

o egg_info komut, ancak yerine o pip bir şekilde çevreyi değişiyor olası görünüyor .. Pip doğru ortamı kullanıyor mu? Bunu pip -V –

+0

ile kontrol edebilirsiniz, bu problem ile ilgili olabilir: https://github.com/scipy/scipy/blob/v0.13.0b1/setup.py#L203 – denfromufa

+0

Eğer bu şekilde yüklüyse, o zaman işe yarayabilir: pip install numpy --user – denfromufa

cevap

2

scikits.audiolab 's setup.py dosyasında bir sorun var. https://github.com/cournape/audiolab/blob/master/setup.py bir göz atın: öyle

import os 

# The following is more or less random copy/paste from numpy.distutils ... 
import setuptools 

from numpy.distutils.core import setup 

ilk şey numpy ithal olduğunu. numpy yüklü değilse, paylaştığınız içe aktarma hatasıyla başarısızlığa uğrayabilirsiniz.

Başarısız yükleme girişimi ile başarılı yüklemeniz arasında, pip install numpy ile elle yüklediğinizden şüpheleniyorum. egg_info'un onunla bir ilgisi olmaması olası değildir.

İşte alınan bu soruna, geçici bir çözüm için nasıl bir gösteri var scipy proje en setup.py:

def setup_package(): 
    ... 
    build_requires = [] 
    try: 
     import numpy 
    except: 
     build_requires = ['numpy'] 

    metadata = dict(
     ... 
     setup_requires = build_requires, 
     install_requires = build_requires, 
    ) 
İlgili konular