我的目标是从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
。你可以在这里阅读更多关于包装的内容。