我将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
有人知道为什么会这样吗?我确定我的代码从根本上错了。
答案 0 :(得分:2)
我认为您出现错误的原因是拼写错误,导致创建了set
而不是dict
:
不正确:
package_dir = {'bcrt',
'bcrt/bcrt'},
正确:
package_dir = {'bcrt':
'bcrt/bcrt'},
错误消息表明给定对象(set
)没有方法'get'。设置函数期望dict
(具有'get'属性)作为package_dir
参数。