如何在 PyCharm 中指定 pip 选项以从requirements.txt进行安装

2024-04-28

要从公司代理后面安装 Python 包,有时需要添加选项pip, 例如--proxy or --cert.

如何在 PyCharm 中指定代理的说明见这个问题 https://stackoverflow.com/q/42363175/2311167以及如何添加any的选项pip调用的解释是这个答案 https://stackoverflow.com/a/46065175/2311167.

后者将允许我添加所需的--cert选项。不幸的是,这仅在手动安装软件包时有效,并且不包括我有一个软件包的情况requirements.txt文件并希望 PyCharm 自动安装列出的软件包。这会导致此错误:

连接因“SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]”) 中断后重试(重试(总计=4,连接=无,读取=无,重定向=无,状态=无))证书验证失败(_ssl.c:第833章)'),)':/简单/机器人框架/

这意味着我需要在底层添加一些东西pip call (--cert就我而言)。

问题:我怎样才能指定pipPyCharm 将使用的选项来自动安装指定的包requirements.txt?


您可以下载公司防火墙插入的 CA 证书并将其安装到 pip 的密钥库中。以下是我使用的过程,但我确信那些更擅长证书格式/操作的人可以改进它:

请注意:每当 pip 运行时,Pip 的 cacerts.pem 文件都会被覆盖 已升级,因此需要重新插入公司证书。

Step 1。确定正确的密钥库。如果您使用的是虚拟环境,则 pip 激活时使用的密钥库的位置应该是C:\PATH\TO\VENV\Lib\site-packages\pip\_vendor\certifi\cacert.pem

注意:与我处理过的大多数密钥库(主要是在尝试让 JetBrains 产品在企业防火墙后面工作时)不同,这个密钥库是纯文本的。第 3 步中有更多相关内容.

Step 2。下载证书。使用 Firefox(有很多方法可以做到这一点),转到错误之前的 URL(类似于https://pypi.org/simple/ https://pypi.org/simple/, or https://pypi.python.org/simple/ https://pypi.python.org/simple/)。单击“锁定”>“显示连接详细信息”>“更多信息”。在页面信息窗口中,单击查看证书 > 详细信息选项卡。将顶级证书导出为 .crt/.pem。单击返回“常规”选项卡,步骤 3 中可能需要它。

Step 3。通常,您可以使用 keytool 命令,例如keytool -import -alias key-alias -file "C:\path\to\exported\key.der" -keystore "C:\Path\to\keystore\.PyCharm2018.3\system\tasks\cacerts",但是当你这样做时,你会得到以下结果keytool 错误:java.security.KeyStoreException:无法识别的密钥库格式:null。事实证明,您可以将步骤 2 中导出的纯文本证书直接复制到密钥库中。

您不需要包含任何标头信息,只需包含从 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 的标头信息。但是,如果将来有人(您)必须再次查看此密钥库,这可能会有所帮助,因此您可以从上面提到的“常规”选项卡中复制它。

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

如何在 PyCharm 中指定 pip 选项以从requirements.txt进行安装 的相关文章

  • 从 Excel 获取输入并在 python 脚本中使用这些输入

    如何从 excel 获取输入并在 python 中使用这些输入 看一眼xlrd http pypi python org pypi xlrd 这是我发现的学习如何使用它的最佳参考 http www dev explorer com arti
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 使用 Python 打开新窗口时,selenium window_handles 不正确

    我想使用 selenium 和 Python 在一个浏览器中打开多个选项卡 并通过多个选项卡同时抓取实时投注赔率 网站主页生成游戏列表 但是 除非您找到游戏元素并使用 click 该网站是 ajax 密集型 否则无法获取游戏链接 这会在同一
  • seaborn 箱线图的子图

    我有一个像这样的数据框 import seaborn as sns import pandas as pd pylab inline df pd DataFrame a one one two two one two one one one
  • 统计Sweep算子的Python实现

    我正在学习一些用书中缺失的数据进行统计的技术 缺失数据的统计分析作者 利特尔和鲁宾 对于处理单调无响应数据来说 一个特别有用的函数是扫频操作员 详情见第 148 151 页 我知道 R 模块gmm有swp函数可以做到这一点 但我想知道是否有
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • 如何检查discord.py中的所有者

    我试图让这个命令只有所有者才能运行它 是否有办法检查服务器的最高角色或创建者 我尝试了 commands is owner 但这仅检查某人是否是机器人的所有者 Guild owner https discordpy readthedocs
  • 如何在solidpython中设置特殊变量$fa、$fs、$fn

    in 上一个线程 https stackoverflow com questions 54040390 how to save data in stl file after python solid processing显示了如何通过 So
  • __author__ 的起源是什么?

    使用私有元数据变量的约定在哪里 author 一个模块内部从何而来 This http mail python org pipermail python dev 2001 March 013328 htmlPython 邮件列表线程似乎暗示
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • 如果任何单元测试失败,如何使 Python 的覆盖率工具失败?

    我想使用 shell 脚本来确保我的单元测试通过and我的代码有足够的测试覆盖率 我只想运行我的测试代码once 我希望我可以通过coverage https coverage readthedocs io 工具和单次运行的工具 如果一项或
  • 在解析器/子解析器的开头使用 argparse.REMAINDER

    我想实现一个 arg 解析器 它允许我将单元测试作为子命令之一运行 盲目地将参数传递给 unittest main 例如 foo py unittest args to pass to unittest main 以及其他子命令 foo p
  • 如何在 Python 中连接两个列表?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 如何在 Python 中连接两个列表 Example listone 1 2 3 lis
  • 如何仅在按下某个键时触发鼠标单击?在Python中

    我想制作一个程序 或者当我单击某个键时 鼠标会自动单击 只要我单击该键 如果我不单击该键 它就会停止 我不希望只在触摸按键一次时才发生点击 而是只要按住按键就发生点击 也可以像雷蛇突触鼠标一样按下鼠标左键触发点击 任何想法 EDIT 1 这
  • 使用 Python 获取 Youtube 数据

    我正在尝试学习如何分析网络上可用的社交媒体数据 我从 Youtube 开始 from apiclient errors import HttpError from outh2client tools import argparser fro
  • 如何将动态数据传递给装饰器

    我正在尝试编写一个基本的 CRUD 控制器类来执行以下操作 下列的 class BaseCrudController model field validation template dir expose self template dir
  • `numpy.diff` 和 `scipy.fftpack.diff` 在微分时给出不同的结果

    我正在尝试计算一些数据的导数 并且正在尝试比较有限差分的输出和谱方法的输出 但结果却截然不同 我无法弄清楚到底为什么 考虑下面的示例代码 import numpy as np from scipy import fftpack as sp
  • 类unix系统中的python和python3命令有什么区别?

    我通读了每个命令的描述 但每个命令的描述都是完全相同的 所以我不明白这两个命令在类 Unix 系统中的工作方式有何不同 谁能解释其中的区别吗 Python3命令的引入是因为python命令指向了python2 从那时起 Python3 已成

随机推荐