gpt4 book ai didi

python - `pipenv install -e .` 有什么作用以及如何使用它?

转载 作者:行者123 更新时间:2023-12-03 15:11:56 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





When would the -e, --editable option be useful with pip install?

(5 个回答)


3年前关闭。



pipenv帮助文档写道:

Install a local setup.py into your virtual environment/Pipfile:

$ pipenv install -e .


有人可以进一步详细说明何时以及如何使用命令 pipenv install -e .关于 setup.py ?
根据 pipenv , -e .editable dependencies .但是,我无法理解给定的解释。有人可以解释一下吗?
编辑:
例如,在我创建了一个简单的发行包调用 mypkg在我的 --user pip 中的目录,即 ~/mypkg ,使用命令:
$ pipenv shell
(mypkg-x985xH5M) $ python3 setup.py sdist bdist_wheel
(mypkg-x985xH5M) $ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
/mypkg并具有以下文件结构:
/mypkg
|_ LICENSE
|_ README.md
|_ setup.py
|_ /mypkg
| |_ __init__.py
| |_ mypkg.py
|_ /dist
| |_ mypkg-0.0.1rc1.tar.gz
| |_ mypkg-0.0.1rc1-py3-none-any.whl
|_ /build
| |_ /bdist.linux-x86_64
| |_ /lib
| |_ /mypkg
| |_ __init__.py
| |_ mypkg.py
|_ /mypkg.egg-info
|_ dependency_links.txt
|_ entry_points.txt
|_ PKG-INFO
|_ SOURCES.txt
|_ top_level.txt
什么命令 $ pipenv install -e .做?

最佳答案

通常情况下,pip (驱动 setup.py 或其他 PEP 518 compliant build tool )将构建和安装 Python 项目,进入 Python site-packages地点。 .py.pyc在此过程中复制文件。
这意味着如果您在磁盘上有项目的本地副本,您不能只编辑 .py源文件并查看从 site-packages 加载相同文件的项目中反射(reflect)的更改.-e switch 构建,然后在 site-packages 中安装一个指针文件它会自动将项目的位置添加到 Python 的模块搜索路径中。现在加载模块将从磁盘位置加载它们,而不是从 site-packages ,并且每次运行使用它的 Python 项目时都会显示对文件的更改。见 Python setup.py develop vs installDifference between setup.py install and setup.py develop.只是告诉pip/pipenv将当前工作目录作为要构建的项目的位置(setup.pypyproject.toml 文件和 [build-system] 部分应该存在于该目录中)。
对于您的示例,运行 pip install -e .~/mypkg , 表示 python3 setup.py develop将运行,添加 .egg-link site-packages 中的文件Pipenv 正在维护的 Python 3 virtualenv 的目录。在同一个site-packages目录是 easy-install.pth已更新以添加 ~/mypkg 的完整路径的文件目录。这一切意味着import mypkg在 Python 中将直接从 ~/mypkg/mypkg 导入代码包,以及您对 .py 所做的任何更改那里的文件将直接可用。

关于python - `pipenv install -e .` 有什么作用以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53378416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com