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

2024-03-01

我拥有的:

  • 我想要将其转换为模块的本地 Python3 文件test_module

  • test_module包含空文件夹__init__.py, a setup.py文件(见下文)和具有多个源的子目录 文件

我想要的是:

  1. 不断努力和改进test_module locally

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

  3. 通过以下方式运行使用该模块的文件python myexample.py,而不必在每次进入或退出时调整我的本地 PYTHONPATH 变量my_environment

  4. 通过 git 与其他人分享我的 python 代码,并允许他们使用相同的过程(尽可能简单)在他们的机器上本地安装代码

  5. 学习如何创建我自己的模块的最佳实践

我现在是怎么做的:

  • pip freeze > requirements.txt and pip install -r requirements.txt用于安装依赖项

  • adding export PYTHONPATH="${PYTHONPATH}:." to my_environment/bin/activate,在搜索路径中拥有我自己的模块 (如在这里找到的:如何在已创建的 virtualenv 中设置 pythonpath? https://stackoverflow.com/questions/4757178/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='[email protected] /cdn-cgi/l/email-protection',
    packages=['test_module'],  # same as name
    install_requires=['numpy', 'scipy', 'sklearn', 'argparse'], # external packages as dependencies
  )

听起来你想跑pip install -e <path/url>从你的虚拟环境中,它将安装一个包(带有setup.py文件(如您拥有的那样)来自本地路径或 Git 存储库。看https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support有关后者语法的解释。

Example:

pip install -e git+https://github.com/me/test_module/#egg=test-module

如果您已经安装并想从存储库中提取最新代码,请添加--upgrade切换到上面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在虚拟环境中安装我自己的 python 模块 的相关文章

随机推荐

  • IGraphBuilder.RenderFile 中无法播放 MP3 文件并出现 COM 异常

    我是导演节目开发的新手 我正在学习有关直接表演的知识 我正在尝试编写一种播放一些音频文件的方法 它适用于许多 mp3 文件 但对于我的某些 mp3 文件 接口 IGraphBuilder 的方法 RenderFile 抛出以下异常 发生 C
  • 检测滑动手势方向

    这是我尝试模拟滑动手势的代码 因此当我构建移动设备时 我知道它会起作用 没有记录任何内容 我很困惑为什么它似乎不起作用 我希望它在我滑动的控制台中打印出来RTL 从右到左 或LTR 左到右 我不明白我做错了什么 void Update if
  • 如何在 Sails.js 中压缩 JavaScript 和 CSS 资源?

    我正在尝试在 Sails js Node 应用程序中为我的资产启用 gzip 压缩 在生产环境中启动应用程序时 所有资产assets linker js and assets linker styles已成功连接 缩小 丑化 如 Grunt
  • 如何从 CLI 构建 DocC 文档

    所以我已经浏览网页有一段时间了 似乎找不到有关如何构建的答案本机 DocC Xcode 文档 使用 CLI 命令 这俩xcodebuild据我所知 commands 和 Fastlane 不提供构建文档的命令 应该构建文档CI CD Git
  • IllegalArgumentException:ID 未引用此 Activity 内的视图

    我一直在尝试为我的应用程序制作一个主页 其中包含一些现代仪表板和导航抽屉 在我的代码中发现错误 E AndroidRuntime FATAL EXCEPTION main Process com example thinkerlab PID
  • 在 MacOS 上使用 cx_freeze 打包 tkinter GUI 会导致黑色 GUI

    我正在构建一个tkinter一位朋友在运行 macOS Catalina 10 15 2 的 Mac 上使用 Python 3 8 3 的 GUI 并尝试使用冻结它cx freeze 6 1 当我在本地环境中运行 python 应用程序时
  • utf8数据在mysql中看起来很好,但在rails中被破坏了

    我正在为我的一位同事设置一个 Rails 环境 他使用的是 Mac 如果相关的话 我已经从我们的实时 mysql 数据库中提取了数据 并使用该数据创建了一个本地开发数据库 如果我打开 mysql 控制台 并查看其名称字段中具有扩展字符集字符
  • IntelliJ 中的 CLI-Spring Shell

    我正在 IntelliJ 中编写 CLI Spring shell 代码 我运行它并给出一些参数 但是当我输入 insert 并按 Enter 时 控制台不接受它 看起来好像什么也没发生 My code Component public c
  • 如何强制iFrame打开所有链接保留在iFrame中?

    我正在托管一个 iFrame 似乎当链接指向外部域时 它会将其加载到主窗口而不是 iFrame 中 有没有办法强制在同一个 iFrame 中打开链接 注意 我可以向 iFrame 中加载的页面添加任何我想要的内容 使用 Chrome 扩展
  • .NET MVC 3 自定义控制器属性

    这可能是天上掉馅饼 但我想知道是否可以使用自定义控制器属性来完成以下操作 对于大多数控制器 我将向控制器内的每个操作传递一个名为 r 的 URL 参数 r 与我的数据库中的竞赛表中的竞赛 ID 相关联 我希望发生的是 每当调用控制器操作时
  • 增加命中 S3 存储桶端点时允许的最大标头大小

    I am curl 重定向到 S3 存储桶的端点 我必须将一些大标头传递给我的请求 但由于超出了最大标头大小 该请求失败了
  • 使用纯 JavaScript 单击隐藏 Bootstrap 模态框

    我正在研究 Bootstrap Pop Up Modals 我有 2 个名为Button1 Button2 我有 2 个名为Modal1 Modal2 Note Button2是在里面Modal1 Button1在网页上 如果我点击Butt
  • 如何使用 Firebase 将初始数据加载与增量子项分开?

    我有一个应用程序 每 5 秒左右就会有新的子进程添加到 Firebase 中 我有成千上万的孩子 在应用程序加载时 我希望以不同于每 5 秒一次的后续子项的方式处理最初的数千个子项 您可能建议我使用值 处理所有内容 然后使用children
  • 自动装箱与静态数字

    有使用价值吗Integer i NumberUtils INTEGER ONE代替Integer i 1 我不知道自动拳击背后会发生什么 Thanks 基本上它会被编译成 Integer i Integer valueOf NumberUt
  • 将包含 JSON 对象的数据框扩展为更大的数据框

    我有一个带有两列的 pandas 数据框 一个是 ID 另一个是长 JSON 对象 对于数据帧中的每个对象来说都是相同的对象 我的目标是为 JSON 对象中的每个键创建列 这是输入的示例 ID request json 175431467
  • 如何在 5 分钟内使 Django 会话过期?

    我用它来登录用户 def login backend request if request method POST username request POST username password request POST password
  • 如何从表中的列中删除默认值?

    如何更改列以删除默认值 该列是通过以下内容创建的 ALTER table sometable Add somecolumn nchar 1 NOT NULL DEFAULT N 然后修改为 alter table sometable alt
  • 计算每个派生类的类实例

    有没有办法让所有派生类计算它们的实例 如何 用 C C Java 之一编写代码 想象一下 我可以访问根类 例如对象 并且每个其他类都是 直接或间接 从该类派生的 我想要的是 AnyDerivedClass InstancesCount 问题
  • 对象原型不“实时更新”

    我有以下代码 var Test function Test prototype doSomething function return done 现在 我创建一个 Test 对象 var t new Test alert t doSomet
  • 在虚拟环境中安装我自己的 python 模块

    我拥有的 我想要将其转换为模块的本地 Python3 文件test module test module包含空文件夹 init py a setup py文件 见下文 和具有多个源的子目录 文件 我想要的是 不断努力和改进test modu