在虚拟环境中安装我的自定义Python模块。

17 浏览
0 Comments

在虚拟环境中安装我的自定义Python模块。

我现在拥有:\n

    \n

  • 本地的Python3文件,我想将其转化为一个模块test_module
  • \n

  • test_module文件夹,包含一个空的__init__.py文件,一个setup.py文件(见下文),以及包含多个源文件的子目录
  • \n

\n我想要实现的目标:\n

    \n

  1. 在本地持续工作和改进test_module
  2. \n

  3. 以简单的方式在我的虚拟环境中(使用python3 -m venv my_environment创建)安装test_module及其所有依赖项
  4. \n

  5. 通过python myexample.py运行使用该模块的文件,而无需每次进入或退出my_environment时调整本地的PYTHONPATH变量
  6. \n

  7. 通过git与他人共享我的Python代码,并允许他们使用相同的过程在本地安装他们的代码(尽可能简单)
  8. \n

  9. 学习创建自己模块的最佳实践
  10. \n

\n我目前的做法:\n

\n我想知道是否有基于setup.py的更\"干净\"的解决方案,可能涉及类似于pip install ./test_module的方式,自动处理步骤2和3。\n我当前的setup.py文件如下所示:\n

 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 Comments

问题:在虚拟环境中安装自己的Python模块的出现原因以及解决方法。

原因:想要在虚拟环境中运行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选项。

0