在虚拟环境中安装我自己的python模块

时间:2018-09-27 23:35:33

标签: python module virtualenv

我所拥有的:

    我想变成模块test_module

  • 本地Python3文件

  • test_module文件夹,其中包含一个空的__init__.py,一个setup.py文件(请参见下文)和带有多个源的子目录 文件

我想要的东西:

  1. 继续在本地进行工作并改进test_module

  2. 有一种简便的方法可以在我自己的虚拟环境(使用test_module创建)中本地安装python3 -m venv my_environment及其所有依赖项

  3. 运行通过python myexample.py使用该模块的文件,而不必每次我进入或退出my_environment

    时都要适应本地PYTHONPATH变量的情况
  4. 通过git与他人共享我的python代码,并允许他们使用相同的过程(尽可能简单)在自己的计算机上本地安装代码

  5. 了解有关如何创建自己的模块的最佳做法

我目前的做法:

我想知道是否有基于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
  )

1 个答案:

答案 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开关。