【问题标题】:python path during development of a package开发包期间的python路径
【发布时间】:2015-11-02 02:58:05
【问题描述】:

假设我的项目结构如下所示:

app/
    main.py
    modules/
        __init__.py
        validation.py
        configuration.py

modules 包包含可重用的代码。 main.py 执行主应用程序逻辑。

当我在 main.py 中尝试这个时

from modules import validation

我收到一条错误消息,提示验证中的导入失败。验证尝试导入配置,我得到“没有名为配置的模块”

我在 Windows 上使用 Anaconda 发行版。

在开发包期间处理 PYTHONPATH 的最佳方式是什么?

有没有办法利用 virtualenv(或 conda env)在 PYTHONPATH 上获取正在开发中的包,而无需从代码中更改 sys.path

开发包时的首选做法是什么?

我也尝试将模块(文件夹)包添加到 lib/site-packages 中,但仍然没有用。

【问题讨论】:

  • 你的模块是什么/__init__.py
  • 你正在做的应该工作。你的__init__.py 是空的吗?假设是这样,那么validation.py 中的导入语句可能有问题?
  • 我的 init.py 为空,验证正在使用 import configuration 导入配置,然后像 configuration.app_config() .... 我的 main.py 正在使用 from modules import validation 导入验证
  • 这是 Python 2 还是 3?
  • 它是python 3.4,但是,当然,我想使用最便携的解决方案

标签: python anaconda pythonpath


【解决方案1】:

validation.py 中的导入更改为:

from . import configuration

这对于 Python 3 是必需的,但也适用于 Python 2。

【讨论】:

  • 谢谢,我回家测试一下
猜你喜欢
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2014-01-31
  • 2015-02-18
  • 2020-06-19
  • 1970-01-01
  • 2012-10-20
相关资源
最近更新 更多