我有什么:
test_module
test_module
包含空 __init__.py
的文件夹, 一个 setup.py
文件(见下文)和具有多个源的子目录文件
我想要的:
test_module
本地 test_module
及其在我自己的虚拟环境中本地的所有依赖项(使用 python3 -m venv my_environment
创建)python myexample.py
运行使用模块的文件,而不必在每次进入或退出 my_environment
时调整我的本地 PYTHONPATH 变量我现在是怎么做的:
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
)
最佳答案
听起来你想运行 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
如果您已经安装并想从 repo 中提取最新代码,请添加
--upgrade
切换到上面。
关于python - 在虚拟环境中安装我自己的 python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52546403/