添加内部依赖关系,使用pipenv

时间:2020-01-07 17:22:31

标签: python-3.x pipenv python-wheel

我的setup.cfg:

[metadata]
name = dummy_job
description = Dummy Job library
long_description = file: README.md
url = https://github.com/mememe/jobs/dummy_job
classifiers =
    Programming Language :: Python :: 3.6

[options]
zip_safe = False
packages = find:
python_requires = >=3.6
scripts =
    app/entry_point/dummy_job.py
    ../../utils/spark_utils.py

[options.packages.find]
exclude =
    tests*

[tool:pytest]
addopts =
    -rA --verbose --color=yes --showlocals --durations=10 --doctest-modules
    --cov=predictive_services_vectorization --cov-report=term

[tool:pylint]
disable = C1801,too-few-public-methods,too-many-arguments
max-line-length = 120
good-names = i,j,k,f,df,_,X,X_out,X_list,x,y
output-format = colorized

我的项目结构是:

  • 项目
    • 工作
      • dummy_job
        • 应用
          • entry_point
            • __初始化__。py
            • dummy_job.py
          • 包括
            • __初始化__。py
            • dummy_class.py
          • 测试
            • entry_point
              • __初始化__。py
              • test_dummy_job.py
            • 包括
              • __初始化__。py
              • test_dummy_class.py
            • __初始化__。py
            • __初始化__。py
        • setup.cfg
        • Pipfile
        • Pipfile.lock
        • setup.py
    • 实用程序
      • __初始化__。py
      • spark_utils.py

问题是当我使用命令生成车轮时:

VERSION =测试pipenv运行python setup.py bdist_wheel

它产生带有文件夹结构的以下轮子:

  • 应用
    • entry_point
      • __初始化__。py
      • dummy_job.py
    • 包括
      • __初始化__。py
      • dummy_class.py
    • 测试
      • entry_point
        • __初始化__。py
        • test_dummy_job.py
      • 包括
        • __初始化__。py
        • test_dummy_class.py
        • __初始化__。py
    • __初始化__。py
  • dummy_job-test.data
    • 脚本
      • dummy_jobs.py
      • spark_utils.py
  • dummy_job-test.dist-info
    • 元数据
    • 记录
    • top_level.txt
    • 车轮

但是问题是在我的课上我有代码:

from utils.spark_utils import get_spark_logger, get_spark_session, get_glue_context
from include.dummy_class import DummyClass

spark = get_spark_session()

rdd = get_glue_context().parrallelize([1, 2, 3, 4])

data = rdd.collect()

logger = get_spark_logger()

dummy_class = DummyClass(1)
logger.info("The list from the rdd is : {}".format(data))

但是问题在于,查看方向盘将无法正常工作,因为没有名为include的模块。正确的导入应该是:

form app.include.dummy_class import DummyClass

将项目文件夹保持原样对我来说很重要。 可以更改setup.cfg,以便生成可用于我的项目的轮子吗?我该怎么办?

0 个答案:

没有答案