我有一个由其他人编写的python软件,它是1500行单文件模块,在底部有注释,说在那里插入了调用模块中的类的源代码。我希望对此进行改进,并希望以一种不错的标准方式进行,以使我的更改作为补丁可以被代码的维护者接受,并对其他人有用。
如果我愿意
python2 -c "import sys; print(sys.path)"
python3 -c "import sys; print(sys.path)"
看来我在Linux上安装的python期望模块位于/usr/lib/python2.7或/usr/lib/python3.5中。因此,发生在我身上的最基本的事情是编写一个带有“安装”目标的Makefile,该目标可以检测到版本号2.7和3.5,并将模块复制到适当的位置。
我猜想这不是最好的或最标准的方法,因为一方面它在Windows上不起作用。我应该以某种方式使用pip进行设置吗?我所见过的有关如何使用pip的示例似乎都假设您使用的是别人编写的代码,并且已经被某个中央存储库接受。
答案 0 :(得分:1)
您可以使用pip完成此操作。使用以下内容制作一个setup.py文件:
from distutils.core import setup
setup(
name='mypackage',
version='0.1',
packages=['mypackage'],
license='Some license',
long_description='Insert description'
)
这假定您的文件结构是这样的:
mypackage/
mypackage/
__init__.py
myfile.py
setup.py
然后在软件包目录中运行pip install -e .
(开发安装)或仅运行pip install .
(普通安装)。
它们之间的区别在于pip install -e
不会将其复制到python目录中,而只是将其链接到那里,我想您是不需要的。