【问题标题】:Having issues with python project structurepython项目结构有问题
【发布时间】:2015-08-27 04:56:32
【问题描述】:

我目前正在进行第 46 题,学习如何艰难地学习 Python,但在让我的示例项目结构按照本章中描述的方式工作时遇到了严重的问题。首先,我的结构是这样的。

 Kilos/
      Kilos/
          __init__.py
      bin/
          Birds.py
      docs/
      setup.py
      tests/
          __init__.py
          Kilos_tests.py

其次,我的 setup.py 脚本是这样的。

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

config = {
    'description': 'Kilos',
    'author': 'My Name',
    'url': 'URL to get it at.',
    'download_url': 'Where to download it.',
    'author_email': 'My email.',
    'version': '0.1',
    'install_requires': ['nose'],
    'packages': ['Kilos'],
    'scripts': ['bin/Birds.py'],
    'name': 'Kilos'
}

setup(**config)

所以这是我的问题。除非我将 Birds.py 从 /bin 移动到包含“setup.py”的根 Kilos 文件夹并在我的设置中更改它的位置,否则我在安装模块后根本无法导入它。我希望能够在 bin 文件夹中访问 Birds.py。我知道我肯定在这里忽略了一些非常简单的事情,但这让我发疯。如果有人能告诉我我哪里出了问题,那将不胜感激。提前谢谢!

【问题讨论】:

  • bin/ 文件夹中的文件不是要导入的,而是要安装为要执行的程序。

标签: python project


【解决方案1】:

您是否尝试过使用 bin 文件夹中的 __init__.py 文件?

另外,文档是这样说的......

脚本是包含 Python 源代码的文件,旨在从命令行启动

documentation

所以,也许它不打算让您在安装后导入它们。

也许你想要的是...py_modules = ['bin.Birds'] 在 bin/ 中有一个 __init__.py 文件

【讨论】:

  • 我刚刚在 bin 文件夹中添加了一个 init,不幸的是得到了相同的结果。
  • 您是否尝试过使用py_modules : ['bin.Birds'] 并包含_init_.py
  • bin/ 文件夹用于二进制文件/程序而不是模块。如果Birds 是一个打算由其他模块导入的模块,那么bin/ 根本就不是该文件的正确位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 2017-12-05
相关资源
最近更新 更多