相关疑难解决方法(0)

在代码中安装python模块

我需要在我的脚本中直接从PyPi安装一个包.也许有一些模块或distutils(distribute,pip等)功能,它允许我只是执行像pypi.install('requests')和请求将被安装到我的virtualenv.

python pip python-module pypi

249
推荐指数
9
解决办法
21万
查看次数

从Python中的脚本捕获stdout

假设有一个脚本做这样的事情:

# module writer.py
import sys

def write():
    sys.stdout.write("foobar")
Run Code Online (Sandbox Code Playgroud)

现在假设我想捕获write函数的输出并将其存储在变量中以供进一步处理.天真的解决方案是:

# module mymodule.py
from writer import write

out = write()
print out.upper()
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我想出了另一个解决方案并且它有效,但是请告诉我是否有更好的方法来解决问题.谢谢

import sys
from cStringIO import StringIO

# setup the environment
backup = sys.stdout

# ####
sys.stdout = StringIO()     # capture output
write()
out = sys.stdout.getvalue() # release output
# ####

sys.stdout.close()  # close the stream 
sys.stdout = backup # restore original stdout

print out.upper()   # post processing
Run Code Online (Sandbox Code Playgroud)

python stdout sys

79
推荐指数
8
解决办法
8万
查看次数

AttributeError:模块Pip没有属性'main'

我正在尝试为一个名为Zulip的开源项目构建python api,并且我一直遇到如下截图所示的相同问题.

我正在运行python3,我的pip版本是10.0.0.有问题的文件setup.py和乱码的代码pip.main()是访问属性以安装包时.

现在,我知道这个构建应该成功,因为它是一个开源项目,但我一直在努力解决依赖问题pip.main().

任何帮助将不胜感激.

在此输入图像描述

python pip

54
推荐指数
6
解决办法
11万
查看次数

可以pip(或setuptools,分发等...)列出每个已安装软件包使用的许可证吗?

我正在尝试审计具有大量依赖项的Python项目,虽然我可以手动查找每个项目的主页/许可条款,但似乎大多数OSS软件包应该已经在其元数据中包含许可证名称和版本.

不幸的是我找不到pip或easy_install中的任何选项来列出超过包名和安装版本(通过pip冻结).

有没有人指向一个工具来列出Python包的许可证元数据?

python licensing pip virtualenv easy-install

28
推荐指数
4
解决办法
1万
查看次数

在 python 中解析 pip list / pip freeze 的输出

你好,我有一个像这样的字符串:

AdvancedHTMLParser (8.0.1)\nappdirs (1.4.3)\nbeautifulsoup4 (4.6.0)\nchardet (3.0.4)\nchrome-gnome-shell (0.0.0)\ncupshelpers (1.0)\ncycler (0.10.0)\nCython (0.27.3)
Run Code Online (Sandbox Code Playgroud)

我想将其拆分为元组列表。这样每个列表项都有一个包含两个值的元组,即名称和版本(不带括号)。

我只能按换行符分割字符串,但我不知道如何正确获取括号中的数字等有人可以解释我如何做到这一点吗?

编辑: 我正在尝试解析pip list local

 def get_installed_modules(self):
    data = subprocess.check_output(["pip", "list", "--local"])
    result = [tuple(line.replace('(', '').replace(')', '').split())
              for line in data.splitlines()]
    print(result)
Run Code Online (Sandbox Code Playgroud)

我有一个项目,我不能只分割字符串,但它需要一个类似字节的对象......

TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

python tuples list

2
推荐指数
1
解决办法
2314
查看次数

标签 统计

python ×5

pip ×3

easy-install ×1

licensing ×1

list ×1

pypi ×1

python-module ×1

stdout ×1

sys ×1

tuples ×1

virtualenv ×1