蟒蛇:如何编辑安装包?

KJW*_*KJW 53 python pip

我通过安装一些软件包pip install something.我想编辑包的源代码something.它在哪里(在Ubuntu 12.04),以及如何让每一次我编辑源代码并运行它重装?

目前,我编辑源代码,然后运行一遍又一遍的python setup.py,这原来是一个相当麻烦.

Leo*_*o.Z 61

其实,你不应该修改安装的包,而不是你应该安装包的分支版本.

如果您需要经常编辑代码,你最好不要通过安装的软件包pip install something,并在".../site_packages/......"编辑代码

相反,你应该把源代码开发目录下,并与安装

python setup.py develop
# or
pip install -e path/to/SomePackage
# Or use a vcs at the first place
$ pip install -e git+https://github.com/lakshmivyas/hyde.git#egg=hyde
Run Code Online (Sandbox Code Playgroud)

放在一个版本控制系统的更改,并告诉PIP明确安装.

参考: 编辑模式

  • 我用`pip install -e/path/SomePackage /`安装它.我在里面导航到这个目录的`/ src /`并编辑了一个文件.但是,当我从终端运行`SomePackage`时,它并没有反映出这种变化. (5认同)
  • 你应该使用像git之类的东西来保护包源.在构建程序包时,所有创建的新文件都将由git标记,然后您可以将更改还原到除正在修改的文件之外的所有文件.这将迫使pip从头开始重建,而不是使用在更改之前编译的文件版本进行重建. (3认同)
  • 澄清一下,每次更改本地版本的源代码时,我们都需要重新安装,对吧? (2认同)
  • **注意:** 如果您使用“python setup.pydevelop”,它也会在开发模式下安装所有依赖项 - 这可能不是您所需要的。需要更长的时间!但是,如果您使用“pip install -e <path>”,它只会确保依赖项全部存在,并且只会在当前包上运行“python setup.pydevelop”。 (2认同)

小智 9

我也需要改变包内的一些东西。从之前的答案中汲取灵感,您可以执行以下操作。

  1. 将包/存储库分叉到您的 GitHub
  2. 克隆您的分叉版本并创建您选择的新分支
  3. 进行更改并将代码推送到存储库上的新分支
  4. 你可以轻松使用pip install -e git+repositoryurl@branchname
  5. 如果它是私有存储库,则需要考虑某些事项


Oz1*_*123 8

您可以编辑安装中的文件/usr/local/lib/python2.7/dist-packages/.做笔记,你将不得不使用sudo或变得root.更好的选择是使用虚拟环境进行开发.然后,您可以编辑在虚拟环境中使用您的权限安装的文件.

  • 这是不正确的建议。不建议直接编辑已安装的软件包。它使软件包升级和维护变得一团糟。它使自动部署变得一团糟。通常,它会使devop变得一团糟。有关正确的开发实践,请参阅高分答案。 (2认同)