从另一个基于打包的文件导入函数 (setup.py) 会导致"No .egg-info directory found"



我的目标是从dnn.py中的utils.py文件中访问一个名为train_testrongplit(…)的函数。我的结构如下:

├───MachineLearning
│   └───src
│       ├───deep_learning
|           └─── dnn.py
|           └─── __init__.py
│       └───utils
|           └─── preprocessing.py
|           └─── __init__.py
│   └───readme.md
│   └───setup.py

我不想使用或更改我的windows路径,因为它应该在其他计算机上运行,从我的github克隆。我找到的解决方案是使用setup.py文件。我花了很长时间试图理解它是如何工作的,最后得到了上面的结构。我的setup.py文件包含如下内容:

from setuptools import setup, find_packages
setup(
name='example',
version='0.1.0',
packages=find_packages()
)

现在当我从根文件夹(MachineLearning)运行pip install -e .时,我得到以下错误:

(tf38_clone) F:CodeMachineLearning>pip install -e .          
Obtaining file:///F:/Code/MachineLearning
Preparing metadata (setup.py) ... done
ERROR: No .egg-info directory found in C:UsersNickAppDataLocalTemppip-pip-egg-info-pvq_am4y
谁能给我指个正确的方向?我唯一想做的就是将函数导入到另一个.py文件中,如上所述。

如果

目标是从dnn.py

中的utils.py文件中访问一个名为train_testrongplit(…)的函数

你还写了

我唯一想做的就是将我的函数导入到另一个.py文件中,如上所述。

那么你应该尝试from utils import train_test_split在开始你的dnn.py从其他模块导入功能。不需要为这个用例创建一个包。关于python模块的更多信息可以在这里找到。

然而,如果你想安装一个可编辑的包,你需要先构建一个(例如,python -m build),这将在你的堆栈跟踪中创建*.egg-info。你可以在这里阅读更多关于包装的内容。

相关内容

  • 没有找到相关文章

最新更新