“pipenv install e”做什么以及如何使用它?

2024-10-01 09:18:54 发布

您现在位置:Python中文网/ 问答频道 /正文

pipenv帮助文档写入:

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

$ pipenv install -e .

有人能进一步详细说明什么时候和如何使用命令pipenv install -e .setup.py相关吗?在

根据pipenv-e .是指{a1}。但是,我无法理解给出的解释。有人能解释一下吗?在

编辑: 例如,在我在pip中的--user目录中创建了一个简单的发行版包调用mypkg,即~/mypkg,使用以下命令:

$ pipenv shell
(mypkg-x985xH5M) $ python3 setup.py sdist bdist_wheel
(mypkg-x985xH5M) $ twine upload --repository-url https://test.pypi.org/legacy/ dist/*

/mypkg,并具有以下文件结构:

^{pr2}$

命令$ pipenv install -e .做什么?在


Tags: install文档py命令yourenvironmentlocalpipenv
1条回答
网友
1楼 · 发布于 2024-10-01 09:18:54

通常,pip(驱动setup.py)将在Pythonsite-packages位置构建并安装Python项目。.py.pyc文件在此过程中被复制。在

这意味着,如果磁盘上有项目的本地副本,就不能只编辑.py源文件并查看从site-packages加载相同文件的项目中反映的更改。在

-e开关生成,然后在site-packages中安装一个指针文件,该文件自动将项目的位置添加到Python的模块搜索路径中。现在加载模块将从磁盘上的位置加载它们,而不是从site-packages加载它们,并且每次运行使用它的Python项目时,都会显示对文件的更改。参见Python setup.py develop vs install和{a2}

.只告诉pip/pipenv将当前工作目录作为要构建的项目的位置(setup.py应该存在于当前工作目录中)。在

例如,在~/mypkg中运行pip install -e .,这意味着python3 setup.py develop将运行,并在Pipenv维护的python3virtualenv的site-packages目录中添加一个.egg-link文件。在同一个site-packages目录中有一个easy-install.pth文件,该文件被更新以添加~/mypkg目录的完整路径。所有这些都意味着Python中的import mypkg将直接从~/mypkg/mypkg包导入代码,对.py文件所做的任何更改都将直接可用。在

相关问题 更多 >