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
,并具有以下文件结构:
命令$ pipenv install -e .
做什么?在
通常,
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
文件所做的任何更改都将直接可用。在相关问题 更多 >
编程相关推荐