建立套件-主要错误

时间:2019-06-05 16:24:30

标签: python setup.py

我将python代码转换为一个包,以使其更易于使用。

这是我第一次编写setup.py文件,但遇到一个错误,似乎找不到其他人上线。

这是我的setup.py文件:

from setuptools import setup

install_requires = [
    "pandas==0.23.4",
    "numpy==1.15.3",
]

#Folder Structure
"""
/bcrt
    .git
    /Models
    setup.py
    /bcrt
        controls.py
        phone_numbers.py
"""

setup(name='bcrt',
      version='0.1.0',
      install_requires=install_requires,
      author='JJFord3',
      author_email='me@gmail.com',
      packages = ['bcrt'],
      package_dir = {'bcrt',
                     'bcrt/bcrt'},
      package_data = {'bcrt':['Models/*.csv']},
      py_modules = ['controls.main',
                    'controls.load_model',
                    'controls.process_data',
                    'controls.Send_EMAIL',
                    'phone_numbers.main']
     )

当我尝试运行python setup.py install时,出现此错误:

running install
running bdist_egg
Traceback (most recent call last):
  File "setup.py", line 48, in <module>
    'phone_numbers.main']
...
AttributeError: 'set' object has no attribute 'get'

phone_numbers.py文件如下:

#List of Bad Phone Numbers
def main():
    Phone_Number_List = [
    '18008675309',
    '18005550123'
    ]
    return Phone_Number_List

有人知道为什么会这样吗?我确定我的代码从根本上错了。

1 个答案:

答案 0 :(得分:2)

我认为您出现错误的原因是拼写错误,导致创建了set而不是dict

不正确:

  package_dir = {'bcrt',
                 'bcrt/bcrt'},

正确:

  package_dir = {'bcrt':
                 'bcrt/bcrt'},

错误消息表明给定对象(set)没有方法'get'。设置函数期望dict(具有'get'属性)作为package_dir参数。