2015-10-04 58 views
0

對於我的Python項目,我將源代碼保存在目錄src中。因此,對於我的項目的setup.py腳本:Setup.py woes:警告:''不是有效的軟件包名稱

from setuptools import setup 

setup(name='pyIAST', 
    ... 
    package_dir={'':'src'}, 
    packages=['']) 

,使它看起來爲src/IAST.py,在我的代碼所在。例如有一個函數plot_isotherms()IAST.py腳本,以便用戶可以在安裝後,把它叫做:

import IAST 
IAST.plot_isotherms() 

一切都很正常,但有一個惱人的警告,當我python setup.py install或使用pip install pyIAST一封來自PyPI:

WARNING: '' not a valid package name; please use only.-separated package names in setup.py 

我該如何讓它消失?

我的項目是here。我也有點困惑,爲什麼我將我的軟件包命名爲pyIAST,但用戶仍然輸入import IAST來導入我的軟件包。以清除警告

+0

你嘗試給它一個有效的軟件包名稱:
import setuptools; print "setup version: ", setuptools.__version__
可與更新呢? –

+0

@ IgnacioVazquez-Abrams setuptools.setup來自distutils.core.setup。 distutils文檔顯示''''是一個有效的軟件包。我猜setuptools擴展打破了這一點。 https://docs.python.org/2/distutils/examples.html#pure-python-distribution-by-package – thorr18

回答

1

一種方法是你的第一行更改爲:
from setuptools import setup, find_packages
,然後你的包線更改爲:
packages=find_packages(),
的安裝程序安裝將不再生成警告。

您可以運行下面的兩個命令來查看您的等溫線方法現已可用:
import pyiast#(< ==通知,這不是IAST)
dir(pyiast)

['BETIsotherm', 'InterpolatorIsotherm', 'LangmuirIsotherm', 'ModelIsotherm', 'QuadraticIsotherm', 'SipsIsotherm', '_MODELS', '_MODEL_PARAMS', '_VERSION', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iast', 'np', 'plot_isotherm', 'print_selectivity', 'reverse_iast', 'scipy']

它可以使用pyiast.plot_isotherm()

您可能需要更新您的setuptools。你可以查看你所擁有的版本: sudo pip install --upgrade setuptools

相關問題