gpt4 book ai didi

Python - 分发带有源代码的库

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:59 25 4
gpt4 key购买 nike

我正在编写一个程序,该程序对某个类使用了一些密码学。由于时间紧迫,我想用 Python 来完成这项作业。我遇到的问题是代码必须能够在学校的 Linux 机器上运行。我们可以通过 SSH 连接到这些机器并运行代码,但不允许我们安装任何东西。我正在使用 Python 的密码学库:

pip install cryptography

有没有一种直接的方法可以将它包含在我的 .py 文件中,这样就不会出现无法在 Linux 机器上安装该库的问题?

最佳答案

你有几个选择:

虚拟环境

安装到 virtualenv(假设命令 virtualenv 已安装):

$ cd projectdir
$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install cryptography
(venv)$ vim mycode.py
(venv)$ python mycode.py

诀窍是,你安装到本地虚拟环境,它不会需要 root 权限。

毒素

tox 是很棒的工具。投入一些时间后,您可以轻松创建多个 virtualenvs。

假设您的系统中安装了 tox

$ tox-quickstart
$ ...accept all defaults
$ vim tox.ini

tox.ini 我的样子:

[tox]
envlist = py27
skipsdist = true

[testenv]
commands = python --version
deps =
cryptography

然后运行(禁用 virtualenvs):

$ tox

它将在目录 .tox/py27 中创建 virtualenv

激活它(仍然在同一个目录中):

$ source .tox/py27/bin/activate
(py27)$ pip freeze
cryptography==1.2.2
... and few more...

安装到 --user python 配置文件

虽然这允许在没有 root 权限的情况下安装,但不推荐作为它很快就以一团糟结束。

编辑(对 MattDMo 评论的 react ):

如果一个用户有两个项目有冲突的需求(例如不同的package versions), --user 安装将无法正常工作生活在所有用户项目共享的一个范围内。

使用 virtualenvs 你可以将 virtualenv 保存在项目文件夹中并且感觉可以自由销毁、重新创建或修改其中任何一个而不影响任何其他项目。

Virtualenvs“堆砌”没问题:如果你能找到你的项目文件夹,您应该能够在其中找到和管理相关的 virtualenv。

使用 virtualenv 成为事实上的推荐标准。我记得无数从创建 virtualenv 开始的示例,但我不记得一个案例使用 $ pip install --user

关于Python - 分发带有源代码的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35470849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com