我正在构建一个库,该库将通过 pip 包含在其他项目中。
我有以下目录(“venv”是 virtualenv):
project
\- bin
\- run.py
\- myproj
\- __init__.py
\- logger.py
\- venv
我激活虚拟环境。
在 bin/run.py 中我有:
from myproj.logger import LOG
但我总是得到
ImportError: No module named myproj.logger
以下作品来自“项目”目录:
python -c "from myproj.logger import LOG"
从“bin”目录调用时,它没有正确地将“project”目录添加到pythonpath。如何从 bin 目录中的脚本导入“myproj”模块?
Install myproject
into venv
虚拟环境;然后你就可以导入myproject
来自任何脚本(包括bin/run.py
)而环境被激活时没有sys.path
hacks.
要安装,请创建project/setup.py https://docs.python.org/3/distutils/setupscript.html为了myproject
打包并运行project
virtualenv 处于活动状态时的目录:
$ pip install -e .
它将安装myproject
就地(变化myproject
模块立即可见,无需重新安装myproject
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)