我所拥有的:
test_module
的本地Python3文件
test_module
文件夹,其中包含一个空的__init__.py
,一个setup.py
文件(请参见下文)和带有多个源的子目录
文件
我想要的东西:
继续在本地进行工作并改进test_module
有一种简便的方法可以在我自己的虚拟环境(使用test_module
创建)中本地安装python3 -m venv my_environment
及其所有依赖项
运行通过python myexample.py
使用该模块的文件,而不必每次我进入或退出my_environment
通过git与他人共享我的python代码,并允许他们使用相同的过程(尽可能简单)在自己的计算机上本地安装代码
了解有关如何创建自己的模块的最佳做法
我目前的做法:
pip freeze > requirements.txt
和pip install -r requirements.txt
用于安装依赖项
将export PYTHONPATH="${PYTHONPATH}:."
添加到my_environment/bin/activate
,以在搜索路径中拥有我自己的模块
(如此处找到:How do you set your pythonpath in an already-created virtualenv?)
我想知道是否有基于setup.py
的“更清洁”的解决方案,可能涉及到pip install ./test_module
或类似的东西,需要解决2.-3。自动地。
我当前的setup.py
文件如下所示
from setuptools import setup
setup(
name='test_module',
version='0.1',
description='Some really good stuff, that I am still working on',
author='Bud Spencer',
author_email='bud.spencer@stackoverflow.com',
packages=['test_module'], # same as name
install_requires=['numpy', 'scipy', 'sklearn', 'argparse'], # external packages as dependencies
)
答案 0 :(得分:0)
听起来您想从虚拟环境中运行pip install -e <path/url>
,它将从本地路径或Git存储库中安装软件包(如果有,则带有setup.py
文件)。参见https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support,了解后者的语法。
示例:
pip install -e git+https://github.com/me/test_module/#egg=test-module
如果您已经安装并想从仓库中获取最新代码,请在上面添加一个--upgrade
开关。