【发布时间】:2022-08-06 21:38:34
【问题描述】:
我是诗歌新手,遇到一个问题,我无法在网上找到很多信息。我的诗歌应该创建一个 python 3.9 的虚拟环境,它确实做到了。这是我使用命令poetry env info 得到的:
Virtualenv
Python: 3.9.10
Implementation: CPython
Path: /home/..../.venv
Valid: True
System
Platform: linux
OS: posix
Python: /usr
当我输入 poetry shell 然后 python 时,我确实进入了 python 3.9,并且能够导入已安装的包。但这是奇怪的部分。当我尝试检查已安装的软件包之一时,这是我得到的:
>>> import XXX.python_utils as utils
>>> utils
<module \'XXX.python_utils\' from \'/home/X/.local/lib/python3.9/site-packages/XXX/python_utils/__init__.py\'>
我的机器上确实安装了一个实际的 python 3.9,但是 Poetry 应该在 virtualenv 中安装包而不是实际的 python3.9 site_packages 对吗?然后我尝试在我的机器上安装我的 python 3.9 而不是虚拟环境,仍然可以导入包。结果与上述相同。
然后我仔细检查了.venv/lib/python3.9/site-packages里面的内容,里面基本上什么都没有。我确实找到了一些以包名结尾的存储库,并以.dist-info 结尾。我不确定那是关于什么的。
我还在poetry shell 中尝试了which python,这就是我得到的:
(.venv) XXX@XXX:~/XXX$ which python
/home/.../.venv/bin/python
似乎诗歌确实在 venv 中使用了 python 3.9
最后,每次我运行poetry install 时,它都会安装所有软件包,即使我没有更改我的pyproject.yaml 中的任何内容,似乎poetry.lock 没有任何意义。
标签: python python-3.x virtualenv python-poetry