我最近开始用SetupTools打包我的第一个项目,并且大部分都取得了成功。setuptools与pip的依赖关系解决方案之间的差异

不幸的是,我遇到了一个令人困惑的情况 - 我的项目依赖于PyPI上没有的单个文件模块。我已经能够使用dependency_links选项很容易地配置setup.py以便依赖那个模块,并且一切正常......只要我使用setup.py来安装它即可。如果我尝试使用pip来安装项目蛋,它在尝试安装模块时失败,假设它必须是预制的蛋存档。相比之下,setup.py检测到它是一个简单的源文件,并从中产生一个蛋。

我的目标是让我的项目在PyPI上可用,因此使用pip安装它是很重要的;所以我的问题是...我做错了什么?

我的理解是,setuptools本质上是达到目的的一种手段,最终是pip和PyPI,所以我觉得这两个工具应该表现得如此不同。

setup.py和输出的来自各工具相关部分如下:

setup(

name='particle-fish',

version='0.1.0',

description='Python Boilerplate contains all the boilerplate you need to create a Python package.',

long_description=readme + '\n\n' + history,

author='Lachlan Pease',

author_email='[email protected]',

url='https://github.com/predakanga/particle-fish',

packages=[

'particle.plugins'

],

include_package_data=True,

install_requires=['particle', 'irccrypt', 'pycrypto'],

dependency_links=['http://www.bjrn.se/code/irccrypt/irccrypt.py#egg=irccrypt-1.0'],

license="BSD",

zip_safe=False,

keywords='particle-fish',

classifiers=[

'Development Status :: 2 - Pre-Alpha',

'Intended Audience :: Developers',

'License :: OSI Approved :: BSD License',

'Natural Language :: English',

"Programming Language :: Python :: 2",

'Programming Language :: Python :: 2.6',

'Programming Language :: Python :: 2.7',

'Programming Language :: Python :: 3',

'Programming Language :: Python :: 3.3',

],

test_suite='tests',

tests_require=['pytest', 'mock', 'coverage', 'pytest-cov'],

cmdclass = {'test': PyTest},

)

从setup.py输出安装:

Installed /Users/lachlan/.virtualenvs/particle-fish/lib/python2.7/site-packages/particle_fish-0.1.0-py2.7.egg

Processing dependencies for particle-fish==0.1.0

Searching for irccrypt

Best match: irccrypt 1.0

Downloading http://www.bjrn.se/code/irccrypt/irccrypt.py#egg=irccrypt-1.0

Processing irccrypt.py

Writing /var/tmp/easy_install-svPfHF/setup.cfg

Running setup.py -q bdist_egg --dist-dir /var/tmp/easy_install-svPfHF/egg-dist-tmp-Xq3OCt

zip_safe flag not set; analyzing archive contents...

Adding irccrypt 1.0 to easy-install.pth file

从PIP输出安装:

Downloading/unpacking irccrypt (from particle-fish==0.1.0)

Downloading irccrypt.py

Cannot unpack file /private/var/tmp/pip-mCc6La-unpack/irccrypt.py (downloaded from /Users/lachlan/.virtualenvs/particle-staging/build/irccrypt, content-type: text/plain); cannot detect archive format

Cleaning up...

Cannot determine archive format of /Users/lachlan/.virtualenvs/particle-staging/build/irccrypt

+0

你有什么版本的pip和setuptools? –

+0

Pip版本1.4.1和setuptools版本0.9.8分别 –

+0

升级到setuptools 1.1然后重新运行使sdist结果得到相同的结果 –

setuptools清华源_setuptools与pip的依赖关系解决方案之间的差异相关推荐

  1. setuptools清华源_安装setuptools和pip(转载)

    安装setuptools 下载setuptools源码setuptools-25.2.0.tar.gz 这是一个压缩文件,将其解压到桌面,并进入该文件夹 按住shift键后,在文件夹空白处点击鼠标右键 ...

  2. python设置清华源镜像

    1.设置临时清华源镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 2.设置默认永久清华源镜像 #升级 p ...

  3. Angular的后院:组件依赖关系的解决

    by Dor Moshe 通过Dor Moshe Angular的后院:解决 组件依赖关系 (Angular's Backyard: The Resolving of Components Depen ...

  4. anaconda中的python如何进行关联分析_Anaconda、Miniconda、Conda、pip的相互关系

    Anaconda.Miniconda.Conda.pip的相互关系.如果你想要跳过这篇文章,并得到讨论的要点,你可以阅读每个标题以及下面的摘要. 认为#1:Conda是一个发行版,不是一个软件包管理器 ...

  5. linux查看服务依赖关系,服务管理(1)

    原标题:服务管理(1) 服务管理 什么是服务?在linux系统中,有一些特殊程序,启动后就会持续在后台执行,等待用户或者其他软件调用使用,这种程序我们称为服务. systemV与init system ...

  6. pip install 豆瓣源、清华源、阿里源、中国科技大学源

    豆瓣源 https://pypi.douban.com/simple/ 清华源 https://pypi.tuna.tsinghua.edu.cn/simple 阿里云 https://mirrors ...

  7. pip和conda 换清华源

    python模块安装,使用国内源可以提高下载速度. pip源更改: pip源有好几个,我一直用的清华的pip源,它5分钟同步一次. 临时使用: pip 后加参数 -i https://pypi.tun ...

  8. Miniconda3及pip换源(conda清华源关闭)

    Miniconda3及pip换源 一.更换miniconda3的源,以清华的源为例: 清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ ...

  9. 修改anaconda中conda和pip的源为清华源

    修改anaconda中conda和pip的源为清华源 注: 当前清华源已经过期,请勿在使用该博文conda源 最近又用回python,并且使用anaconda来进行包的管理,但是在下载某些库十分慢,于 ...

最新文章

  1. R语言使用ggpubr包的ggarrange函数组合多张结论图:使用ggpubr包在散点图的侧面添加辅助图形、并使用NULL将不需要可视化的侧面留白
  2. 怎样使用Debussy+ModelSim快速查看前仿真波形
  3. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理
  4. OAF_开发系列03_实现OAF如何在保存前判断数据是否存在变更(案例)
  5. 标准非STL容器 : bitset
  6. 如何完全屏蔽Chrome的提示:请停用以开发者模式运行的扩展程序
  7. OC Swift混编-Swift.h File not found
  8. BZOJ4516: [Sdoi2016]生成魔咒
  9. Jsoup V的幕后秘密:优化的技巧和窍门
  10. python for循环连续输入五个成绩判断等级_Python基础(1)——输入输出/循环/条件判断/基本数据类型...
  11. git submodule的工作原理
  12. CentOS7的初始配置
  13. Kotlin — 在一个项目中混用 Java 与 Kotlin(混合开发)
  14. Spring Boot的MyBatis注解:@MapperScan和@Mapper
  15. html设置分割线怎么下移,HTML设置水平分割线
  16. 卷积神经网络 CNN 学习
  17. C#读取txt 乱码问题的解决方案
  18. 难难难!如何求图的某一顶点到其他顶点最短距离?迪杰斯特拉Dijkstra和弗洛伊德Floyd要上场了
  19. 共享锁与排他锁的关系
  20. NXP-MPC5748G车载MCU使用(食用)方法(踩坑)实用指南(骗人教程)(二):使用FREERTOS点亮LED

热门文章

  1. 离线缓存之RNCachingURLProtocol解析
  2. c# 修饰词public, protected, private,internal的区别
  3. android textview密文,TextView 明密文处理
  4. iis php.exe,在IIS75下使用php运行exe程序的总结
  5. 计算机网络技术之网络系统设计与组建工程
  6. qbittorrent container 改共享文件_SSH连接docker中的container
  7. Python爬虫基础:常用HTML标签和Javascript入门
  8. Python中的队列结构及其用法
  9. php数据库显示+ajax,如何使用PHP和AJAX显示MySQL数据库
  10. socket 例子 java_java socket例子