Bal*_*rol 20 python setuptools pypi
我正在尝试setup.py为私有项目编写安装文件,该项目具有公共和私有依赖项.公共的托管在PyPI上,而私有托管在运行simplepypi的服务器上.
我希望在安装过程中解析和获取公共和私有依赖项.
因此我将依赖项添加到setup.py:
setup(
...
install_requires = [
# public dependencies
'argparse==1.2.1',
'beautifulsoup4==4.1.3',
'lxml==3.1.0',
'mongoengine==0.8.2',
'pymongo==2.5.2',
'requests==1.1.0',
'Cython==0.18',
# private dependencies
'myprivatepackage1',
'myprivatepackage2'
],
dependency_links=['http://pypi.myserver.com/packages'],
...
)
Run Code Online (Sandbox Code Playgroud)
我使用命令构建包tarball并使用python setup.py sdist激活的virtualenv安装它pip install --verbose path/to/tarball.tar.gz.
但是,pip日志行没有在任何地方提到我的私有PyPI服务器,并且https://pypi.python.org/simple/似乎已被查询两次.
Running setup.py egg_info for package from file:///home/b/code/mapado/mypackage/dist/mypackage-0.5.1.tar.gz
running egg_info
creating pip-egg-info/mypackage.egg-info
writing requirements to pip-egg-info/mypackage.egg-info/requires.txt
writing pip-egg-info/mypackage.egg-info/PKG-INFO
writing top-level names to pip-egg-info/mypackage.egg-info/top_level.txt
writing dependency_links to pip-egg-info/mypackage.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
Downloading/unpacking myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not find any downloads that satisfy the requirement myprivatepackage (from mypackage==0.5.1)
Cleaning up...
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
非常感谢你!
小智 17
看起来你没有指定你的主机,就像simplepy的文档说你需要设置~/.pipyrc好主机名之类的
要使用它,请运行"simplepypi".您可以按以下方式上传包:
Run Code Online (Sandbox Code Playgroud)Modify your ~/.pypirc so it looks like: [distutils] index-servers = pypi local [local] username: <whatever> password: <doesn't matter, see above> repository: http://127.0.0.1:8000 [pypi] ...
然后你会上传你的包裹
python setup.py sdist upload -r local
Run Code Online (Sandbox Code Playgroud)
并可以从那里安装它
pip install -i http://127.0.0.1:8000/pypi <your favorite package>
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助.
| 归档时间: |
|
| 查看次数: |
27494 次 |
| 最近记录: |