python发布pyc包_使用’pip |来部署Python包的任何方法easyinstall”* .pyc only”flat namespace packges’virtualenv?...

本文探讨了如何使用Python打包工具将仅包含编译后的*.pyc文件的专有包部署到virtualenv中。目标是创建一个扁平的命名空间包结构,避免源文件的污染。尝试了多种方法,包括`python setup.py`命令、`bdist_egg`、`easy_install`和`pip install`,但遇到了各种问题,如源文件的排除、依赖项安装和卸载的问题。最终考虑通过手动操作`egg_info`和`installed-files.txt`来实现目标。
摘要由CSDN通过智能技术生成

目标:

>利用现代Python打包工具集将专有包部署/安装到一些virtualenv中.

>安装的软件包应包含仅在没有源文件的情况下编译的* .pyc(或* .pyo).

>有几个软件包,供应商名称(这里我们为工作室选择dgmx)用作软件包名称.因此,安装的软件包将类似于dgmx / alucard,dgmx / banshee,dgmx / carmilla,……

>已安装软件包的文件层次结构应该类似于python setup.py install –single-version-external-managed或pip install.参见How come I can’t get the exactly result to *pip install* by manually *python setup.py install*?

问题简而言之:

我喜欢通过仅编译的* .pyc(或* .pyo)文件将专有命名空间包部署到virtualenv中,其中文件/目录层次结构仅反映了由许多ooxx.egg路径污染sys.path的命名空间.

我试过的东西:

> python setup.py bdist_egg –exclude-source-files然后easy_install ooxx.egg.

>为每个命名空间包污染“sys.path”.

> python setup.py install –single-version-external-managed.

>不仅仅是* .pyc.

>“install_requires”被忽略了!

>需要手动放置ooxx.egg-info / installed-files.txt以使卸载正常工作.

> pip安装.在“setup.py”的位置.

>不仅仅是* .pyc.

> pysetup安装.在“setup.py”的位置.

>不仅仅是* .pyc.

更新:

我目前的想法是遵循方法2.

> python setup.py egg_info –egg-base. #get requires.txt

> python setup.py install –single-version-external-managed –record installed-files.txt #get installed-files.txt

>通过“requires.txt”手动安装其他依赖项

>通过“installed-files.txt”手动删除已安装的源文件(* .py)

>从“installed-files.txt”中删除源文件(* .py)并将其放入已部署的“ooxx.egg-info / installed-files.txt”

参考文献:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值