小编Liz*_*ett的帖子

使用本地目录覆盖 virtualenv 中的模块

我对 python 相当陌生,遇到了一个无法解决的问题。我有一个依赖于模块 B 的模块 A。通常,A 下载 B 并将其与其余鸡蛋一起存储在我的 virtualenv 站点包中。现在,我想使用 B 的本地版本来代替下载的 B 版本,但无论我做什么,A 仍然在其站点包中使用 B,而不是我在 PYTHONPATH 中指定的包。

我知道我的本地 B 设置正确,因为如果我将它添加到我的 PYTHONPATH 并且我不使用 virtualenv,我就可以很好地使用它。

如果我打开 ipython,并将本地 B 添加到 PYTHONPATH,我会看到我的 sys.path 首先列出了站点包版本,然后是 PYTHONPATH 中的目录。如果我做了一些黑客行为,比如颠倒 sys.path 的顺序并尝试加载 B,它仍然使用站点包中的 B。我发现解决此问题的唯一方法是创建从站点包中的 B 到本地 B 的符号链接,并删除本地 B 中的所有 *.pyc 文件。必须有更好的方法要做到这一点...任何帮助都会很棒。谢谢你!

我不确定这是否重要,但作为参考,我正在使用以下版本的东西:

  • 虚拟环境 12.1.1
  • 蟒蛇2.7
  • 模块A和B是我公司的内部库
  • Ubuntu 12.04.5 LTS

python python-module virtualenv python-2.7

5
推荐指数
1
解决办法
2525
查看次数

在AWS Linux机器上通过yum安装librdkafka1时出现libsasl依赖问题

我正在尝试使用pip安装python confluent-kafka软件包。我正在运行Amazon Linux(版本Amazon Linux AMI版本2016.09)的aws ec2实例上尝试此操作。我只是在做:

pip install pip install confluent-kafka
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下错误:

In file included from confluent_kafka/src/confluent_kafka.c:17:0:
confluent_kafka/src/confluent_kafka.h:21:32: fatal error: librdkafka/rdkafka.h: No such file or directory
 #include <librdkafka/rdkafka.h>
                                ^
compilation terminated.
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我做了两件事:

1)按照此页面上的说明进行操作,并在文件/etc/yum.repos.d/confluent.repo中添加以下内容:

[Confluent.dist]
name=Confluent repository (dist)
baseurl=http://packages.confluent.io/rpm/3.0/6
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.0/archive.key
enabled=1

[Confluent]
name=Confluent repository
baseurl=http://packages.confluent.io/rpm/3.0
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.0/archive.key
enabled=1
Run Code Online (Sandbox Code Playgroud)

2)尝试使用以下命令安装librdkafka库:

sudo yum clean all
sudo yum install -y librdkafka1 librdkafka-devel
Run Code Online (Sandbox Code Playgroud)

Yum吐出此错误,但是:

Error: Package: librdkafka1-0.9.1_confluent3.0.1-1.el7.x86_64 (Confluent.dist)
       Requires: openssl-libs
Error: Package: librdkafka1-0.9.1_confluent3.0.1-1.el7.x86_64 (Confluent.dist) …
Run Code Online (Sandbox Code Playgroud)

python linux amazon-ec2 apache-kafka confluent-kafka

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