- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用setuptools
开发一个Python包。我使用 setup.cfg
file 设置配置,使用 src 布局。在 Travis-CI 上的 Python 3.6 上,我收到 ModuleNotFoundError
。
src 布局给出以下结构:
my-package
├── setup.cfg
├── setup.py
└── src
└── my_package
├── my_file.py
└── version.py
正如文档中所解释的,我使用 attr:
说明符获取版本。我还使用 extras_require
键来获取一些额外的依赖项 ( especially for having test tool executables )。
[metadata]
name = mypackage
version = attr: my_package.version.__version__
[options]
package_dir =
=src
packages = find:
[options.packages.find]
where = src
[options.extras_require]
test =
dummy
然后,我使用 pip
安装依赖项:
pip install -e ".[test]"
这可以在使用 Python 3.7 的本地环境和使用 Python 3.5 的 Travis-CI 环境中无缝运行。但在使用 Python 3.6 的 Travis-CI 环境中,我收到一个 ModuleNotFoundError
:
Obtaining file:///home/travis/build/me/my-package
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/travis/build/me/my-package/setup.py", line 4, in <module>
setup()
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/opt/python/3.6.3/lib/python3.6/distutils/core.py", line 121, in setup
dist.parse_config_files()
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/dist.py", line 436, in parse_config_files
ignore_option_errors=ignore_option_errors)
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 106, in parse_configuration
meta.parse()
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 382, in parse
section_parser_method(section_options)
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 355, in parse_section
self[name] = value
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 173, in __setitem__
value = parser(value)
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 428, in _parse_version
version = self._parse_attr(value)
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages/setuptools/config.py", line 305, in _parse_attr
module = import_module(module_name)
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'my_package'
出了什么问题?
最佳答案
Travis-CI 为 Python 3.6 提供的 setuptools
包似乎太旧,无法正确使用 attr:
说明符。这个功能可以用in v39.2.0 ,而 Travis-CI Python 3.6 提供 v38.2.4(因此出现错误),而 Travis-CI Python 3.5 提供 40.0.0(因此成功)。
所以,我只是输入:
pip install --upgrade "setuptools>=40.0"
作为我的 .travis-ci.yaml
文件中的先决条件。
关于python-3.x - 在 src 布局中使用 attr 时出现 ModuleNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57033921/
I have installed WeasyPrint==0.42.3 using pip3 install WeasyPrint==0.42.3, but when I try to impo
我正在从远程服务器设置Jupyter笔记本电脑环境。当我导入Notebook.auth时,它报告错误如下:。我的jupyter参数如下所示:。有人知道如何解决这个问题吗?我已经尝试了pip安装jupy
在运行命令时,我遇到了一个错误:Heroku run pythonManage.py Migrate。当我运行它时,它会出现错误:ModuleNotFoundError:没有名为‘Django’的模块
PC:Windows 11 WSL 2,ubuntu-22.04。我打算按照这些说明安装'cnntools'。安装后,我对其进行了测试。这件事就发生了。。我的电脑怎么了?我必须买一台新电脑吗?。我试过
我的文件夹结构是: |-fastapi |-app |-calc.py |-tests |-mytest.py 在 mytest.py 中,我尝试导入 calc.py,
假设我们有以下结构: outer_module.py| |subfolder| |__init__.py
我在 conda 中创建了一个新环境并安装了 yaml。 $ conda list | grep yaml yaml 0.1.7
我使用了来自 python-nmap 的 import nmap 模块,它在 Pycharm 中运行良好。 但是当我尝试在命令提示符下运行相同的程序时,出现错误: ModuleNotFoundErro
my_controller.py 如下: from models import Person david = Person('David') 我的项目结构是 app ├── controller │
我已经使用 tensorflow 构建了一个 python 脚本,现在我正在尝试将其转换为 .exe 文件,但遇到了问题。使用 pyinstaller 并从命令提示符运行程序后,我收到以下错误: Fi
我在网络驱动器上安装了 Python。我用了pushd命令进入同一网络驱动器上我的项目文件夹。我在那个文件夹中打开 python。我尝试导入该文件夹中的模块。一个 ModuleNotFoundErro
我的发行版是WinPython,我使用Spyder作为IDLE,我的python版本是3.6.5。 尽管我有很多模块(来自 WinPython 下载),例如 pip、pandas 和 numpy,它们
我在 macOS Mojave 版本 10.14.1 上使用 Python 3.7.1 这是我的目录结构: man/ Mans/
我的文件夹结构: ttsTacotron.py Tacotron-2 |.. |tacotron| |train.py |synthetizer.py
我正在使用 Python 3.6.0 和 pipenv。我在pycharm中有一个名为myapp的python项目,目录结构为 - myapp - src - __init__.py -
我利用自制程序安装 python3,现在无法运行使用关联的 pip3 二进制文件安装的模块。 from blackduck.HubRestApi import HubInstance username
我正在开发 Flask 应用程序并尝试运行我的测试文件,但无法执行此操作。我当前的应用程序结构是: Project ── app │ ├── __init__.py │ ├── forms.p
(在用重复的问题投票标记我之前,请注意,我在这个问题上找到的所有内容都与 virtualenv 有关,而不是 venv) 系统: Ubuntu 服务器 16.04 已安装 Python 3.6,原生
Visual Studio 2017 - 空 Python 项目我的代码如下所示(是的,只有两行): import pandas as pd import Quandl 我已将 Quandl (3.2
我需要 pickle 我已经实例化的 python 类,因此需要使用相对路径。我正在使用 Python 版本 3.6.6。以下是项目结构和代码的示例: modelling/ test.py
我是一名优秀的程序员,十分优秀!