标签: egg

zip_safe = False在setup.py文件中不起作用

我想将我的项目安装为文件夹而不是.egg文件.所以我在setup.py文件中的setup函数中使用了zip_safe = False

但是当我运行这个时,我的项目被安装为.egg文件而不是/Library/Python/2.7/site-packages中的目录.下面是我的setup.py文件

from setuptools import setup, find_packages

setup(name = "my-project",
    version = "0.1",
    description = "Python version of my-project",
    author = "Priyal Jain",
    author_email = "jpriyal@gmail.com",
    license="Apache 2.0",
    keywords="Python my project",
    package_dir={'': 'lib'},
    #packages=find_packages('lib'),
    packages= ['abc','pqr'],
    package_data={
        'abc.sample': ['*.yml']
    },
    zip_safe= False,
    scripts = ["abc"],
    classifiers=[
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Intended Audience :: Information Technology',
        'Intended Audience :: System Administrators',
        'Intended Audience :: Telecommunications Industry',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
    ], …
Run Code Online (Sandbox Code Playgroud)

python egg setuptools setup.py

9
推荐指数
1
解决办法
4037
查看次数

Python代码组织问题:鸡蛋+软件包+构建+单元测试+ SVN

我有几个共享常见模块的python项目.到现在为止,我已经......咳嗽......保留公共代码的多个副本并手动同步.但我显然更愿意做别的事情.

它现在在我看来,好像zc.Buildout可能是我需要的.我想我应该做的是将我系统的每个可重用组件放入一个单独的egg中,然后使用buildout将它们组装到项目中.

我也在想,对于任何特定的模块,我应该将单元测试放入一个单独的包或蛋中,这样我就不会在每个项目中安装组件的单元测试副本.我只想在我的库开发的地方进行单元测试,而不是在刚刚使用的地方.

所以也许我想要这样的东西

projects
  lib1
    tests
    code
  lib2
    tests
    code
  app1
    tests 
    appcode
  app2
    tests
    appcode
Run Code Online (Sandbox Code Playgroud)

等等

app1和app2都是独立的应用程序,有自己的代码和测试,但也包括和使用lib1和lib2.和lib1/test,lib1/code,lib2/test,lib2code,app1,app2是分开的鸡蛋.这听起来不错吗?

但是,我现在感到困惑.我假设当我开发app1时,我希望buildout将lib1,lib2和app1的副本放到一个单独的工作目录中,而不是直接将这些库的副本放在app1下.但是,这如何与我的SVN源代码控制一起使用?如果使用buildout动态构造工作目录,它不能是一个实时SVN目录,我可以从中检查更改回存储库?

我是否误解了如何使用buildout?我会更好地采用完全不同的方法吗?如何在项目之间混合源代码控制和模块重用?

更新:感谢两位目前已回答此问题的人.我正在尝试更多这个.

python svn egg code-organization buildout

8
推荐指数
2
解决办法
2313
查看次数

Python egg文件有什么意义?

当我运行python setup.py installdjango时,它会生成一个egg文件.

Python egg文件的用处是什么?

python django egg

8
推荐指数
3
解决办法
4450
查看次数

Python:如果安装了相同软件包的多个egg版本,我该如何专门导入我需要的版本?

比方说,例如FooPackage-1.1和FooPackage-1.2都作为鸡蛋安装在dist-package中.如何导入我需要的那个?

python distutils egg setuptools

8
推荐指数
1
解决办法
1403
查看次数

如何防止setuptools安装包作为.egg

例如,在Linux上安装IPython(未安装setuptools)我已经安装了IPython site-packages\IPython.

在执行相同的命令后,在Windows上安装IPython(其中IPython需要setuptools)

python setup.py install
Run Code Online (Sandbox Code Playgroud)

我安装了IPython site-packages\ipython-0.13.2-py2.7.egg\IPython

有没有办法安装模块"旧方式"即进入site-packages\IPython

python egg setuptools

8
推荐指数
1
解决办法
3223
查看次数

Python setup.py包含了egg中的.json文件

我想在python egg文件中打包.json文件.

例如:boto包有endpoints.json文件.但是当我运行python setup.py bdist_egg时,它不包含egg中的json文件.如何在鸡蛋中包含Json文件?

如何在鸡蛋中包含*.json文件?

下面是setup.py代码

from setuptools import setup, find_packages, Extension

setup(
  name='X-py-backend',
  version='tip',
  description='X Python backend tools',
  author='meme',
  packages=find_packages('python'),
  package_dir={'': 'python'},
  data_files=[('boto', ['python/boto/endpoints.json'])],
  namespace_packages = ['br'],
  zip_safe=True,
)

setup(
  name='X-py-backend',
  version='tip',
  packages=find_packages('protobuf/target/python'),
  package_dir={'': 'protobuf/target/python'},
  namespace_packages = ['br'],
  zip_safe=True,
)
Run Code Online (Sandbox Code Playgroud)

python egg setuptools python-2.7

8
推荐指数
2
解决办法
4344
查看次数

cx_freeze和单文件鸡蛋

我试图cx_freeze在Windows 7上使用python2.7 distutils脚本,它似乎被绊倒在2个包上:rsa&pyasn1:

error: [Error 3] The system cannot find the path specified:
'c:\\python27\\lib\\site-packages\\pyasn1-0.1.9-py2.7.egg\\pyasn1/*.*'
Run Code Online (Sandbox Code Playgroud)

(错误rsa是类似的.)

起初我认为这是一个权限问题(两个egg文件都显示了一个挂锁徽章),但即使在更改权限后,错误仍然存​​在.

然后我注意到这两个鸡蛋不是目录,而是单个文件,这可以解释为什么cx_freeze无法找到所请求的子目录.

我已经尝试将这些指定为packages或者includes; 无论哪种方式,我都会看到错误.

我也尝试将它们指定为excludes然后直接复制蛋; 这允许cx_freeze脚本完成,但随后可执行文件找不到鸡蛋.

所以我的问题是:如何让我的cx_freeze脚本识别这些蛋?

python windows egg cx-freeze python-2.7

8
推荐指数
1
解决办法
365
查看次数

从 python bdist_egg 或 bdist_wheel 中排除单个源文件

背景:我有一个负责安全的源文件。其中有魔术键和特定算法。

是否可以从 python 蛋或轮包中删除这个单一的源文件?

我已经完成了使用 egg 命令只发送二进制文件。

python setup.py bdist_egg --exclude-source-files
Run Code Online (Sandbox Code Playgroud)

编辑项目结构:

??? setup.py
??? src
|   ??? __init__.py
|   ??? file1.py
|   ??? file2.py
|   ??? file_to_exclude.py
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

egg setuptools python-wheel

8
推荐指数
1
解决办法
2274
查看次数

Python蛋的缺点?

easy-install与"传统"包/模块/库相比,使用鸡蛋有什么缺点吗?

python comparison egg

7
推荐指数
2
解决办法
645
查看次数

如何制作“python setup.py install”安装源而不是egg文件?

我曾经python setup.py install在一个 python 项目中运行,它只会将源移动到site-packages,但有时它会将egg文件移动到site-packages?

#!/usr/bin/env python
# encoding: utf-8

from setuptools import setup,find_packages

setup(
    name = "ipin_rpc_gen_vector",
    version = "0.0.2",
    packages = find_packages("src"),
    package_dir={"":"src"},
    install_requires=[

    ],
)
Run Code Online (Sandbox Code Playgroud)

那么这背后有什么不同呢?什么时候安装源码,什么时候只安装egg文件?如何强制安装源而不是egg文件?

python egg setuptools

7
推荐指数
1
解决办法
4798
查看次数