所以我在谷歌搜索一个 pip 需要 sudo 权限的事件,我遇到了以下两个线程 运行“sudo pip”有什么风险? 并且 它是可接受的安全运行PIP在sudo下安装?
第一个线程讨论了使用 pip 运行未知 .py 文件的安全风险(有道理),但从第二个线程开始,我几乎得到的印象是存在一个全局和本地 python 安装,您不应该混淆。我想您可以为所有用户进行全局安装,然后为每个用户添加本地包的附加路径,这是有道理的,但这是真的吗?(这也是有道理的,因为 ubuntu(我正在使用)依赖于某些 python 包,所以有一个全局根保护 python 目录可以保护这些包)。但是,如果这是真的,我找不到两个单独的目录。我试过
import sys
print(sys.path)
Run Code Online (Sandbox Code Playgroud)
使用 sudo 和不使用 sudo,我得到了完全相同的目录。
无论如何,我想我会转向 pip virtualenv,但在那种情况下,我想知道,如果我不小心忘记激活环境并在外面运行一个异国情调的 requirements.txt 会发生什么?这不会破坏我的标准用户目录,我正在努力保持清洁(如果是这样,那是可逆的吗?我只是在想,它只是忘记输入一个突击队,然后你的 python 安装就搞砸了.)
我有一个三个 python 项目 A、B 和 C。每个项目都相互依赖。
我现在如何“清理”我的requirements.txt,那里只有这个“级别”所需的高级依赖项。
boto3==1.2.4
A==0.0.1
boto3==1.2.4 cookiecutter
==1.4.0
B==0.0.1
懒鬼==0.9.9
boto3==1.2.4 cookiecutter
==1.4.0
粗体的包是应该被过滤掉的包。
在给定requirements.txt
的virtualenv环境下,从脚本检查是否满足要求并在不匹配的情况下提供详细信息的最佳方法是什么?
Pip在主要版本中更改了它的内部API,所以我看到一些建议不要使用它的parse_requirements
方法。
有一种方法pkg_resources.require(dependencies)
,但是然后如何解析需求文件,如github链接等呢?
这应该很简单,但是找不到任何指针。
更新:需要编程解决方案。
我下载了一个Python项目,它包含一个虚拟环境和一个requirements.txt文件.你为什么要两个?据我所知,虚拟环境已经包含了所需的模块.知道这个组合何时以及为何有用?
我正在为我的 Python 项目创建一个requirements.txt
文件。当有人通过安装我的项目时pip
;我还想pip
下载Tkinter
和time
Python 模块,这两个模块都是 Python 标准库中的模块。
我使用该命令pip freeze
列出了当前安装的所有 Python 包,但是当我向下滚动到T部分时,我在列表中找不到Tkinter
或。然后我尝试使用命令time
安装 Tkinter但出现以下错误:pip
pip install Tkinter
Could not find a version that satisfies the requirement Tkinter (from versions: )
No matching distribution found for Tkinter
Run Code Online (Sandbox Code Playgroud)
我也做了同样的事情time
并得到了同样的错误。(我运行的是 Python 3.6 和 Windows 10。)
是否可以在安装我的包pip
时安装这些模块pip
,或者我是否必须相信这一点,因为用户安装了Python,他们也会Tkinter
安装这些time
模块?
欢迎并感谢所有帮助!
对于某些库,在pythonrequirements.txt中使用>=
和时有什么区别?例如和~=
requests >= 2.18.0
requests ~= 2.18.0
我已经尝试过这两种方法并且工作正常
requests >= 2.18.0
requests ~= 2.18.0
Run Code Online (Sandbox Code Playgroud)
谁能解释一下>=
和~=
运算符之间的确切区别吗?
这个问题在运行代码时不会导致实际问题,而是 PyCharm 警告的问题,我希望解决这个问题,以便其他从事该项目的程序员不必浪费时间进行调查。问题是我有一个引用已安装包的导入语句:
import barcode
Run Code Online (Sandbox Code Playgroud)
但是,在我的 requirements.txt 文件中,该包被列为:
python-barcode==0.10.0
Run Code Online (Sandbox Code Playgroud)
这会导致 PyCharm 生成警告,指出:
包含模块“条形码”的包未列在项目要求中……(Ctrl+F1)检查信息:此检查警告有关导入或必需但未安装的包。
我想知道是否有人知道我可以为将来在自己的 IDE 中工作的程序员永久避免此警告的方法,也许是通过 requirements.txt 文件中的指令或类似的东西。
上传到 GitHub 时,需要包含一个 requirements.txt 文件。我已经创建了一个虚拟环境,所以 pip3 freeze 只列出了我在项目开发过程中安装的包。但是,我还安装了 pylint(由 VS Code 建议),我不希望在需求文件中使用它。当我使用 pip3 freeze 时,Pylint 未列在单个条目中。那么有没有办法从需求中删除 pylint 和相关的东西?在最坏的情况下,任何人都可以列出所有 pylint 的内容,以便我可以从需求文件中手动删除它们吗?
以下是该requirements.txt
文件的摘录。我理解==
指定版本后的值。=
指定后的值是什么?我可以排除它吗?
icu==67.1=he1b5a44_0
lz4-c==1.9.2=he6710b0_1
xz==5.2.5=h7b6447c_0
qt==4.8.7=2
Run Code Online (Sandbox Code Playgroud) I have to install python packages form requirements files thats provided to me. However, when I use pip install -r requirements.txt
command I get an error saying ERROR: Invalid requirement (from line 3 in requirements.txt
. And when I comment the third line the error just continues to be there for the next lines. What does that mean and how can I install packages from the file?
Here's how the file contents look like:
# Name Version Build Channel
alabaster …
Run Code Online (Sandbox Code Playgroud) python ×10
requirements.txt ×10
pip ×5
python-3.x ×2
virtualenv ×2
github ×1
pycharm ×1
python-2.7 ×1
tkinter ×1