2

创建了一个设置文件。使用以下代码,其中 setup.py 是

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",
    ], )

运行 python setup.py sdist 时,结果会创建一个带有 zip 文件的 dist 文件夹(我在 Windows 上)。打开此文件时,苹果包和所有子文件夹都在其中。苹果的目录树如下

请注意,在屏幕截图中,文件表明它们位于 Apples 文件夹中。

在此处输入图像描述

但是,当我部署到另一台机器时

  1. 解压 zip 文件
  2. cd到目录
  3. python setup.py 安装
  4. 在 site-packages/apples 中创建了一个构建文件夹
  5. 在被复制到站点包文件夹的构建文件夹中只有两个文件(init .py 和 version.py),省略了 core 和 slice 的子目录

在此处输入图像描述

4

1 回答 1

2

您需要列出所有包和子包:

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

或者

from setuptools import find_packages
…
packages = find_packages(),
于 2017-09-23T11:11:39.323 回答