Python - 使用Source分发库

时间:2016-02-18 01:00:26

标签: python linux python-2.7

我正在编写一个程序,它为类使用一些加密。由于我的时间不够,我想用Python来完成这项任务。我遇到的问题是代码必须能够在学校的Linux机器上运行。我们能够SSH到这些机器并运行代码,但我们不允许安装任何东西。我正在使用Python的Cryptography库:

pip install cryptography

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

1 个答案:

答案 0 :(得分:0)

你几乎没有选择:

的virtualenv

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

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

诀窍是,您安装到本地虚拟环境中,而不是 需要root权限。

的tox

tox是很棒的工具。投入一点时间后,您可以轻松创建多个虚拟现实。

假设您在系统中安装了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 profile

虽然这允许在没有root权限的情况下进行安装,但不建议这样做 它很快就会陷入一团糟。

编辑(对MattDMo评论的反应):

如果一个用户有两个具有冲突要求的项目(例如不同 软件包版本),--user安装将无法正常运行 生活在所有用户项目共享的一个范围内。

使用virtualenvs,您可以将virtualenv保留在项目文件夹中并感受到 可以自由地销毁和重新创建或修改其中任何一个而不会影响任何其他 项目

Virtualenvs“堆积”没有问题:如果你能找到你的项目 文件夹,您将能够找到并管理相关的virtualenv(s)。

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

相关问题