我已经使用 pip 安装了一个 Python 包,它是 easy_install 的替代品。如何获取与此软件包关联的已安装文件的列表?
基本上,我正在寻找等效于的 Python 包
dpkg -L
Run Code Online (Sandbox Code Playgroud)
或者
rpm -ql
Run Code Online (Sandbox Code Playgroud) 我正在考虑推出一种新的配置管理工具来取代我们自己开发的解决方案。事实上的标准是 Chef 和 Puppet,它们都是以 Ruby 为中心的(尽管显然可以用于部署非 Ruby 环境)。我们绝大多数的开发都是用 Python 完成的,我们的内部部署工具大量使用Fabric。因此,我正在学习Salt,因为它也是 Python,尽管它不如 Chef 或 Puppet 成熟。但由于我对这些选项不够熟悉,我发现很难进行比较。
除了较小的社区之外,我会通过使用 Salt 而不是 Puppet/Chef 来放弃任何重要的东西吗?
我发布这个问题已经六个月了。尽管它已关闭,但它已被观看了 1,000 多次,所以我想我会评论我的经历。
我最终决定使用 Puppet,因为它有一个更大的社区。然而,这是一次非常令人沮丧的经历,主要是由于复杂的 Puppet 配置语法。因为我现在有了比较两者的参考框架,所以我最近又看了看 Salt——我不会回去了。非常非常酷。我最喜欢的东西:
推和拉配置模型的无缝集成。Puppet 使用拉模型(节点定期轮询服务器以获取更新)并有一个名为 Marionette 的姊妹组件用于推送更改。两者对我都很重要,我更喜欢 Salt 的工作原理。当你有很多节点时,Salt 的执行速度也会快得多。
配置语法使用 YAML,它只是一种使用缩进和项目符号的简单文本格式。您也可以通过模板选择使用其他配置格式。根据我的经验,这使 Salt 的学习和维护难度提高了大约 10 倍。
基于Python。这是我最初开始研究 Salt 的最大原因。这最终成为我留下来的次要原因之一。但是,如果您是像我们这样的 Python 商店,则可以更轻松地开发 Salt 插件。
Supervisord 不附带初始化脚本或不指示如何自动启动它,即。重启后。我尝试了一些用户提供的 /etc/init.d 脚本,但它们都失败了。
什么是首选的解决方案?
Ubuntu 14.4 内置了 Python 2.7.6,但我想将其升级到 2.7.9(它具有我想要的安全功能)。
这甚至可能吗?如果是这样,如何实现?
我正在尝试在 cygwin 的 python 中安装一些软件包,但出现以下错误:“easy_install: command not found”。
我试图运行“easy_install.py”,结果也是“easy_install.py: command not found”。我试图在整个 cygwin 的 /usr 树中搜索任何以前缀“easy”命名的东西,但没有找到。
我错过了什么吗?AFAIK,easy_install 工具应该是python 2.5 中包含的电池。或者是否有我错过的需要安装的软件包?
我想避免向后移植,它们似乎总是弄乱我的包裹。
所以我在想像 conda / virtualenv / 甚至 docker 这样的工具都可以提供帮助。在我的系统上使用 python 3.7 的最简单/最干净的方法是什么?
我正在尝试在我的 Ubuntu 机器上设置 MOD_WSGI。我找到了说我需要执行以下步骤的步骤,我在http://ubuntuforums.org/showthread.php?t=833766
Run Code Online (Sandbox Code Playgroud)<Directory /var/www/> Options Indexes FollowSymLinks MultiViews ExecCGI AddHandler cgi-script .cgi AddHandler wsgi-script .wsgi AllowOverride None Order allow,deny allow from all </Directory>
创建了 test.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Run Code Online (Sandbox Code Playgroud)第 2 步失败,因为它说即使 apt-get 找到它也找不到 mod-wsgi。如果我继续执行这些步骤,python 应用程序只会在浏览器中显示为纯文本。
任何想法我做错了什么?
编辑:问题的结果
automatedtester@ubuntu:~$ dpkg -l libapache2-mod-wsgi
Desired=Unknown/Install/Remove/Purge/Hold …Run Code Online (Sandbox Code Playgroud) 我最近发现了Shinken,它是 Nagios 使用 python 的新实现。Shinken 将 Nagios 分为 5 种不同类型的守护进程,每个守护进程执行不同的任务。我还没有尝试过,但就我所见,整个架构的想法对我来说似乎很棒(它以 Unix 方式工作:一个进程,一个任务),但该项目似乎有点“绿色”。
那么,有人试过神研吗?你怎么看?
如何让 EC2 微实例从 lighthttpd 提供 CGI 脚本?例如Python CGI?
嗯,这花了半天时间,但我已经使用 lighttpd 服务器在免费的 Amazon AWS EC2 微实例上运行了 Python cgi。我认为将所有步骤放在一个地方会帮助我的新手。通过以下简单步骤,您只需 15 分钟即可完成设置!
对于阅读本文的更有经验的用户,我的问题是:我所做的是否存在任何安全漏洞?(请参阅文件和目录权限。)
[显然,您需要注册 Amazon EC2 并将您的密钥对保存到 *.pem 文件中。我不会讨论这个,因为亚马逊会告诉你如何去做。]
登录您的 AWS 账户并启动您的 EC2 实例。网络上有关于这样做的教程。请注意,Amazon 提供给您的默认实例大小为“小”。这不是“微型”,因此它会花费您金钱。一定要手动选择“微”。(微型实例仅在第一年免费......)
查找正在运行的实例的公共 DNS 代码。为此,单击仪表板顶部窗格中的实例,您最终会看到底部窗格中填充的“公共 DNS”字段。(您可能需要稍微调整一下。)公共 DNS 看起来像:
ec2-174-129-110-23.compute-1.amazonaws.com
启动您的 Unix 控制台程序。(在 Max OS X 上,它被称为终端,位于 Applications -> Utilities 文件夹中。)
cd 到桌面系统上的目录,该目录包含包含 AWS 密钥对的 *.pem 文件。
使用如下命令通过 ssh 连接到您的 EC2 实例:
ssh -i <<your *.pem filename>> ec2-user@<< Public DNS address >>
所以,对我来说,这是:
ssh …
请解释使用不同 Nginx WSGI 接口时的优缺点?请详细说明每种配置的区别是什么?哪种配置的扩展性最好?
如果相关,您现在正在运行什么,为什么?
我见过的一些技巧,但请告诉我是否遗漏了任何技巧:
python ×10
amazon-ec2 ×1
apache-2.2 ×1
cgi ×1
chef ×1
cygwin ×1
daemon ×1
easy-install ×1
fastcgi ×1
lighttpd ×1
linux ×1
mod-wsgi ×1
monitoring ×1
nagios ×1
nginx ×1
pip ×1
puppet ×1
saltstack ×1
supervisord ×1
ubuntu ×1
ubuntu-14.04 ×1
ubuntu-16.04 ×1
web-server ×1
wsgi ×1