当前位置: 首页 > 知识库问答 >
问题:

'pipenv安装-e.'做什么以及如何使用它?[重复]

祁渊
2023-03-14

Pipenv 帮助文档写道:

将本地setup.py安装到您的虚拟环境/Pipfile中:

$ pipenv install -e .

有人可以进一步详细说明何时以及如何使用命令pipenv install -e .setup.py 有关?

根据pipenv-e。

编辑:例如,在我在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 并具有以下文件结构:

/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 . 做什么?


共有1个答案

顾均
2023-03-14
匿名用户

通常情况下,< code>pip(驱动< code>setup.py或另一个符合PEP 518的构建工具)会构建一个Python项目,并将其安装到Python < code > site-packages 位置。<代码>。py和< code >。pyc文件在此过程中被复制。

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

-e开关构建,然后在站点包中安装一个指针文件,该文件会自动将项目的位置添加到Python的模块搜索路径中。现在加载模块将从磁盘位置加载它们,而不是从站点包加载它们,并且每次运行使用它的Python项目时都会显示对文件的更改。请参阅Pythonsetup.py开发与安装以及setup.py安装和setup.py开发之间的区别

只是告诉pip/pipenv将当前工作目录作为要构建的项目的位置(setup.pypyproject.toml文件中的[Build-System]部分应该存在于该目录中)。

对于您的示例,在< code>~/mypkg中运行< code > pip install-e ,这意味着将运行< code > python 3 setup . py develop ,并添加一个< code >。Pipenv维护的Python 3 virtualenv的< code>site-packages目录中的egg-link文件。在同一个< code>site-packages目录中有一个< code>easy-install.pth文件,该文件经过更新后添加了< code>~/mypkg目录的完整路径。这意味着Python中的< code>import mypkg将直接从< code>~/mypkg/mypkg包中导入代码,以及您对< code >所做的任何更改。py文件将直接可用。

 类似资料:
  • 我现在正在尝试学习Spring Security,我已经看到了许多使用它的不同例子。我知道CSRF是什么,Spring Security默认启用了它。我很想知道的是这种定制。 这一行是什么样的定制,以及何时适合使用它。如果有人能给我一个简单的解释,我将不胜感激。

  • 我看到它包含了DejaVu Sans字体,但我不知道如何使用这个jar(我在网上什么也没有找到),也不知道这是否能以一种优雅、简单的方式解决我的跨平台软件。 你能告诉我更多关于这个罐子的事吗?

  • 使用它来分析C或C++中的代码? 使用它来分析x86汇编程序中的代码?

  • 嗨,我正在尝试安装Grunt在windows7 64位。我已经使用命令安装了Grunt 但现在如果我尝试执行,它会给我抛出一个错误- 找不到有效的Gruntfile。有关如何配置Grunt的更多信息,请参阅入门指南:http://gruntjs.com/gett-started致命错误:无法找到GruntFile。 但当我在系统中查看grunt文件夹时,就在那里。可以有人请指导我如何安装这个gru

  • 问题内容: 我想创建一个Android应用程序,以作者身份上传我的大学笔记,任何人都可以下载它。我读到firebase可以帮助我解决这个问题。任何人都可以参考一下来解释什么是firebase,以及如何使用它。谢谢! 问题答案: Firebase团队成员在这里。 tl; dr- 阅读此快速入门,观看此视频。使用FirebaseUI。 Firebase是用于移动和Web应用程序的平台。 Firebas

  • 我读了很多关于@JoinColumn的文章,但我仍然不明白它背后的想法。 病人床 车辆表 我一直在读这篇文章,但我仍然感到困惑。JPA JoinColumn与mappedBy