昨天打包的时候,有个bug就是没有把一个路径很深的文件夹打进去。因为Python调用了那个文件夹中的一些bash脚本,出错。
折腾了接近一个小时,记录一下。
import pdb
from setuptools import setup, find_packages
from pathlib import Path
import os
def get_recursion_file_list(dname):
global recursion_file_list
recursion_file_list.append(f'{dname}/*')
for item in Path(dname).iterdir():
if item.is_dir() and item.name!='__pycache__':
get_recursion_file_list(item)
def get_file_list(dname):
os.chdir(dname)
global recursion_file_list
recursion_file_list = []
for d in Path('.').iterdir():
if not d.is_dir():
continue
d=d.name
get_recursion_file_list(d)
os.chdir('..')
return recursion_file_list
name="scorefunc"
M=len(name)+1
lst=get_file_list(name)
# lst=[s[M:] for s in lst]
# lst=lst[1:]
print(lst)
# print(file_list)
os.system(f'rm -rf build && rm -rf dist && rm -rf *.egg-info')
setup(
name=name,
version="0.0.1",
packages=find_packages(),
description="scorefunc",
author="tang qichun",
author_email="qichun.tang@xtalpi.com",
package_data={name:lst},
entry_points={'console_scripts': ['scorefunc=scorefunc:cli', ], }
)
#cd /home/tqc/anaconda3/envs/tf2/lib/python3.6/site-packages/scorefunc-0.0.1-py3.6.egg/scorefunc/models/rdock