标签: egg

以交互方式/非交互方​​式运行时,Python 以不同方式导入模块

我的一个 Python 脚本以交互模式运行,但从命令行运行时失败。不同之处在于,当从命令行运行时,它从一个坏的 .egg 文件中导入模块,而当以交互方式运行时,它使用当前目录中我的固定(解压缩)版本。

我的问题有两个方面:a) 为什么 Python 从这些位置运行时加载模块的方式不同,以及 b) 我有哪些解决方法?

python interactive egg non-interactive

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

如何安装一个python蛋

我正在尝试为我的 postfix 安装设置 ftw.mail。因为我是 Linux 和 Python 的新手,所以我真的不知道它是正确的,朝着正确的方向前进还是垃圾。

从官方文档中我发现了这一点:

  • 将 ftw.mail 添加到您的构建配置中:
    [实例]
    鸡蛋 +=
    ftw.mail
  • 安装通用设置导入配置文件。

(来源:https : //github.com/4teamwork/ftw.mail/blob/master/README.rst

我的第一个问题是:“/etc/postfix/”是所谓的“构建配置”吗?

其次,我在如何构建这个我尝试过的“鸡蛋”方面遇到了困难:

$ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python for ez_setup
Run Code Online (Sandbox Code Playgroud)

然后:

$ sudo apt-get install python-setuptools
Run Code Online (Sandbox Code Playgroud)

并完成:

$ sudo easy_install ftw.mail
Run Code Online (Sandbox Code Playgroud)

在控制台上我被告知,鸡蛋在那里:

/usr/local/lib/python2.7/dist-packages/ftw.mail-2.3.1-py2.7.egg

我找到了它,我读到我必须从以下内容开始:

$ PYTHONPATH=/usr/local/lib/python2.7/dist-packages/cssutils-1.0-py2.7.egg
Run Code Online (Sandbox Code Playgroud)

基本上什么也没做。现在的问题是:我如何安装鸡蛋?

总结我的问题:

  1. “etc/postfix/”是我正在寻找的构建配置目录吗?
  2. 如何安装 Python 蛋?
  3. 我该怎么办:[实例] 鸡蛋 += ftw.mail?
  4. 什么是“通用设置导入配置文件”?

python email postfix-mta egg

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

Python setup.py 中的负 extra_requires

我想制作一个默认安装依赖项的 Python 包,除非用户特别表示他们不想要这样。

例子:

 pip install package[no-django]
Run Code Online (Sandbox Code Playgroud)

当前的 pip 和 setup.py 机制是否提供了执行此操作的方法或不需要extra_requires每次都明确?

python egg pip easy-install setup.py

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

创建类似于 Java Jar 文件的 Python 可执行包

我正在一个没有 sudo 和互联网访问的环境中工作,因此拥有一个可以部署在任何地方的独立应用程序包非常有用。

使用 Maven 将我的 java 项目打包成可执行的 jar 文件,这对我的情况非常有用。

但是,我正在尝试使用 python 实现相同的目标,可能将所有必需的依赖项打包到 zip/egg/wheel 文件中,以便可以在任何环境中执行,只要安装了 python 二进制文件即可。

我尝试过使用python setup.py bdist_egg,但这会创建一个 Egg 文件,而没有我的顶级main .py 和我正在使用的模块。

非常感谢在这种情况下的任何经验!

python egg pip setuptools

5
推荐指数
0
解决办法
1616
查看次数

zip_safe 仅与蛋格式相关吗?

如果我读正确的,那么蛋格式的东西不应该再使用。相反,应该使用轮子格式。其他人似乎以同样的方式阅读。

有了这个假设:是否zip_safe与egg 之外的任何其他分发格式相关?

我发现了什么

根据这个

一个布尔值(真或假)标志,指定项目是否可以从 zip 文件安全安装和运行。如果未提供此参数,则 bdist_egg 命令每次构建鸡蛋时都必须分析项目的所有内容以查找可能的问题。

Setuptools 没有提到轮子。所以我想它与车轮无关。所以如果我不造鸡蛋,我就不需要这个?

但是,如果我使用 安装软件包pip install -e .,它似乎创建了一个 egg 文件(好吧,一个[package name].egg-info)...所以即使使用 Python 3.8,egg 可能还没有过时?

python egg setuptools

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

直接从 Azure 数据工厂执行 egg

如何从 Azure 数据工厂 (AD) 管道执行egg 文件?目前我只能从执行egg文件的地方调用Databricks notebook。有没有办法直接做到这一点?

做了什么

按照这个答案,我得到了以下异常:

{
    "errorCode": "3201",
    "message": "Must specify one jar or maven library for jar task, either via jar_uri or libraries.",
    "failureType": "UserError",
    "target": "Execute Egg",
    "details": []
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

代码和结构

在我的本地机器上我可以执行python dist/hello_world-1.0-py2.7.egg,这将打印'Hello world!'

src
 |-__init__.py
 |-main.py
__main__.py
setup.py
Run Code Online (Sandbox Code Playgroud)

设置文件

from setuptools import setup, find_packages

setup(
    name='hello-world',
    version='1.0',
    packages=find_packages(),
    py_modules=['__main__']
)
Run Code Online (Sandbox Code Playgroud)

__主_ _.py

from src.main import run

if __name__ == '__main__':
    run()
Run Code Online (Sandbox Code Playgroud)

源代码/主.py

def run():
    print('Hello world!') …
Run Code Online (Sandbox Code Playgroud)

python egg azure azure-data-factory azure-databricks

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

安装MySQLdb(用于python)作为非压缩egg

安装说明如下:

$ python setup.py build
$ sudo python setup.py install # or su first
Run Code Online (Sandbox Code Playgroud)

这给了我一个.egg文件.如何告诉安装将文件转储为普通的未压缩库?

谢谢!

python mysql install egg

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

如何创建Python/Django Egg?

我有一个Python程序(使用Django - 这有关系吗?),如果你愿意,我想"捆绑".我怎么做,就像可以为Java创建.jar一样?

python django egg

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

如何在一个要求依赖于 gcc-4.5 版本的情况下使用 pip install

我在我的 virtualenv 中,在 Python 2.7.2 下安装了一个为 pip 打包的蛋。鸡蛋有 16 个要求,其中之一 (pycryptopp 0.5.29) 已知会因 gcc-4.6 失败,因此必须使用 4.5 进行编译。系统同时安装了 gcc-4.6(默认)和 gcc-4.5。

我如何配置/破解 pip install 来专门构建这个包?(或者我只是在安装这个包时临时kludge链接/usr/bin/gcc)

我是否需要清理它损坏的现有 (virtualenv)/build 目录,如果需要,如何清理?

(我已经阅读了 pip 文档并搜索了 SO + SU)

gcc egg pip pycrypto

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

Easy_install的--prefix选项不会更改它尝试安装我的包的位置

我想为python 2.6安装Sphinx 1.1.3.但是,我没有sudo权利.因此,我不想在默认位置安装它,而是使用--prefix设置不同的位置.执行以下操作:

-bash-3.2$ easy_install Sphinx-1.1.3-py2.6.egg --prefix=/homes/ndeklein/python2.6/site-packages/
Run Code Online (Sandbox Code Playgroud)

给我:

error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

[Errno 13] Permission denied: '/usr/lib/python2.4/site-packages/test-easy-install-18534.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

/usr/lib/python2.4/site-packages/
Run Code Online (Sandbox Code Playgroud)

我输入错误的前缀吗?另外,我可以使用它(我已经与其他包一起使用):

python setup.py install --home=/homes/ndeklein/python2.6/site-packages/
Run Code Online (Sandbox Code Playgroud)

但我找不到setup.py脚本.我猜这个EGG没有setup.py脚本,是真的吗?

python egg prefix easy-install

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