2017-09-22 87 views
0

创建一个安装文件。用下面的代码,其中setup.py是运行sDist构建一个包并安装创建空构建目录

import sys 
from distutils.core import setup 

setup(
    name='SomePackage', 
    author='dave', 
    version='0.1.0', 
    author_email='dave', 
    packages=['apples',], 
    license='LICENSE.txt', 
    url="None", 
    include_package_data=True, 
    description='i love apples', 
    long_description=open('README.txt').read(), 
    install_requires=[ 
     "matplotlib >= 2.0.0", 
     "numpy >= 1.11.3", 
     "openpyxl >= 2.4.1", 
     "openturns >= 1.9", 
     "pandas >= 0.19.2", 
     "pip >= 9.0.1", 
     "pyodbc >= 4.0.17", 
     "pyqt >= 5.6.0", 
     "pywin32 >= 220.0.0", 
     "pywinauto >= 0.6.3", 
     "qt >= 5.6.2", 
     "scipy >= 0.18.1", 
     "statistics >= 1.0.3.5", 
     "tqdm >= 4.15.0", 
     "xlwings >= 0.10.2", 
    ],) 
运行蟒蛇setup.py sdist时

,结果将创建一个zip文件(我是在Windows上)一DIST的文件夹。当打开这个文件时,苹果包和所有的子文件夹都在其中。苹果的目录树如下

note在屏幕截图中,Files表示它们位于Apples文件夹中。

enter image description here

但是当我通过

  1. 部署到另一台机器上解压缩zip文件
  2. 光盘目录
  3. 蟒蛇的setup.py安装
  4. 在网站上创建一个build文件夹-packages/apples
  5. 在build文件夹中被复制到site-pac kages文件夹,只不过是两个文件(初始化的.py和version.py),而忽略了核心与片的子迪尔斯

enter image description here

回答

1

你需要列出所有的包和subpackges:

packages=['apples', 'apples.core', 'apples.slice',], 

from setuptools import find_packages 
… 
packages = find_packages(), 
+0

谢谢!我刚刚添加了你提到的子包。然而setuptools是相当不错的,在某些情况下,我认为它是最好的方法。 – dfresh22