提问人:dasWesen 提问时间:11/3/2023 更新时间:11/3/2023 访问量:60
从其他地方导入本地安装的 python 包
Import locally installed python package from elsewhere
问:
关于Python打包的另一个愚蠢的问题。我已经搜索了stackoverflow,但找不到答案,或者,我找到的答案不起作用。
任务:从其他地方的另一个 .py 文件或命令行上的 python 加载本地安装的包(带或不带 -e 可编辑标志)。
设置:
test-proj1
└── run.py
test-proj2
├── setup.py
├── test-proj2
│ ├── proj2_functions.py
│ └── __init__.py
└── __init__.py
我在(顶层目录)中的 setup.py:test-proj2
from setuptools import setup, find_packages
setup(
name="test_proj2",
version="1.0.0",
description="...",
long_description="...description",
long_description_content_type="text/markdown",
package_dir={"": "test-proj2"},
packages=find_packages(where="test-proj2"),
)
在(顶级目录)中,我已经运行了,或者(尝试了两个,都没有成功)。test-proj2
python3 -m pip install .
python3 -m pip install -e .
在此之后,从我正在使用的 virtualenv 中的 pip(也显示了正确的路径),将软件包显示为已安装。which pip
which python
pip freeze | grep test-
从,或者只是在控制台中打开python,如何导入
test-proj1/run.py
a) 只是包裹(如果它是空的也没关系)?
b) 中的函数?test_proj2
add
proj2_functions.py
我尝试将绝对路径添加到 Pythonpath,即使这样我也无法导入或.错误消息为:test-proj2
test_proj2
test_proj2.test_proj2
ModuleNotFoundError:没有名为“test_proj2”的模块
我的心智模型是,安装包,无论有没有 -e,都可以使用它来使用我在调用 .还是目录名称有问题?我读到它可以在导入时替换为(也可以使用各种其他等效名称)。python -m pip install ...
-
-
_
我现在会尝试不使用包,但我真的很烦恼,我无法让它运行。
答: 暂无答案
评论
import
test-proj2
import test-proj2
name=
setup.py
setup.py
-
_