标签: distribute

如何在Github上确定Python包的蛋名?

我知道我可以安装使用

$ pip install -e git+https://git.repo/some_pkg#egg=SomePackage
Run Code Online (Sandbox Code Playgroud)

但是 - 当我试图使用别人的包装时 - 我如何确定鸡蛋的名称是什么?

python egg pip distribute

20
推荐指数
1
解决办法
3530
查看次数

你如何纠正模块已经加载的Python中的UserWarnings?

在命令行中运行大多数python脚本时获取以下类型的警告:

/Library/Python/2.6/site-packages/virtualenvwrapper/hook_loader.py:16: UserWarning: Module 

pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  import pkg_resources

/Library/Python/2.6/site-packages/virtualenvwrapper/hook_loader.py:16: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  import pkg_resources
Run Code Online (Sandbox Code Playgroud)

我认为这与使用distribute和virtualenv的组合有关,但是想要检查是否有其他人已经遇到过这个或者知道如何修复它.

python warnings virtualenv distribute

18
推荐指数
1
解决办法
7132
查看次数

python-pip yum包提供了pip-python而不是pip

我安装了python-pipyum(使用Fedora的更新repo).它虽然没有添加pip脚本PATH.

$ which pip
/usr/bin/which: no pip in
                (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:
                 /usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
Run Code Online (Sandbox Code Playgroud)

但它确实创造了pip-python:

$ rpm -ql python-pip
/usr/bin/pip-python
[...snip...]

$ which pip-python
/usr/bin/pip-python
Run Code Online (Sandbox Code Playgroud)

我正在考虑建立pip一个符号链接,pip-python但有没有一个原因可执行文件的名称pip-python开头?

python fedora distribute

18
推荐指数
3
解决办法
2万
查看次数

setup.py:当必需的包名称包含短划线时,预期的括号列表

我正在编写一个可重用的Django应用程序,如下所述:https: //django.readthedocs.org/en/1.5.x/intro/reusable-apps.html

当我在setup.py中指定包含名称中包含破折号的要求时,setup.py将不会运行.例如,如果我的setup.py包含以下行:

requires=[ 'djangotinymce', 'MtFileUtil', 'Django', 'PyYAML', ],
Run Code Online (Sandbox Code Playgroud)

然后它正常工作.

python ./setup.py sdist
running sdist
...
Creating tar archive
Run Code Online (Sandbox Code Playgroud)

如果我将行更改为如下所示:

requires=[ 'django-tinymce', 'MtFileUtil', 'Django', 'PyYAML', ],
Run Code Online (Sandbox Code Playgroud)

我们得到一个奇怪的错误

Traceback (most recent call last):
  File "./setup.py", line 32, in <module>
    'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
  File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "/home/travis/venv/deleteme/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 225, in __init__
    _Distribution.__init__(self,attrs)
  File "/usr/lib/python2.7/distutils/dist.py", line 259, in __init__
    getattr(self.metadata, "set_" + key)(val)
  File "/usr/lib/python2.7/distutils/dist.py", line 1220, …
Run Code Online (Sandbox Code Playgroud)

django setuptools distribute

16
推荐指数
1
解决办法
3603
查看次数

为什么我的pip冻结时不会出现setuptools 1.3.1?

virtualenvwrapper在Ubuntu 12.04上运行和朋友(virtualenvwrapper 1.7.1.2,virtualenv 1.7.1.2,pip 1.0,Distribute 0.6.24,Python 2.7).为了能够pip install matplotlib我需要更新版本的Distribute/setuptools,所以我执行以下操作:

$ mkvirtualenv new_venv
$ pip install matplotlib # fails
$ easy_install -U distribute
# installs Distribute 0.7.3 in the venv,
# which then installs setuptools 1.3.1
$ pip install matplotlib # works
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步时,pip freeze我得到:

argparse==1.2.1
distribute==0.7.3 # here's Distribute
matplotlib==1.3.1
nose==1.3.0
numpy==1.8.0
pyparsing==2.0.1
python-dateutil==2.2
six==1.4.1
tornado==3.1.1
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

在哪里setuptools?我试过了pip install setuptools,它也没有出现在那里.

pip setuptools virtualenv distribute

14
推荐指数
2
解决办法
1655
查看次数

使用pip安装Python包源代码tarball

我正在试图弄清楚如何构建一个可以通过pip安装的Python源包.我尝试使用http://packages.python.org/an_example_pypi_project/setuptools.html上描述的setup.py文件 和指定目录中的一些简单测试文件创建一个测试项目.

创造这个项目命名为源压缩包后dist/an_example_pypi_project-0.0.4.tar.gzpython setup.py sdist,我试着在叫的virtualenv环境中安装它~/TEST~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz.虽然pip没有抛出任何错误,但它似乎没有安装包:

$ ~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz 
Unpacking ./dist/an_example_pypi_project-0.0.4.tar.gz
  Running setup.py egg_info for package from file:///home/lebedov/an_example_pypi_project/dist/an_example_pypi_project-0.0.4.tar.gz

Cleaning up...
$ find ~/TEST -name "an_example*"
$
Run Code Online (Sandbox Code Playgroud)

请注意,我可以使用easy_install从tarball安装:

$ ~/TEST/bin/easy_install dist/an_example_pypi_project-0.0.4.tar.gz 
Processing an_example_pypi_project-0.0.4.tar.gz
Running an_example_pypi_project-0.0.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tfXxeW/an_example_pypi_project-0.0.4/egg-dist-tmp-N2QY_N
warning: build_py: byte-compiling is disabled, skipping.

warning: install_lib: byte-compiling is disabled, skipping.

zip_safe flag not set; analyzing archive contents...
Adding an-example-pypi-project 0.0.4 to easy-install.pth file

Installed /home/lebedov/TEST/lib/python2.7/site-packages/an_example_pypi_project-0.0.4-py2.7.egg
Processing dependencies for …
Run Code Online (Sandbox Code Playgroud)

python pip setuptools virtualenv distribute

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

用virtualenv分发python代码?

我想将一些具有一些外部依赖性的python代码分发给只安装了核心python的机器(以及不熟悉的用户easy_install等).

我想知道是否可以将virtualenv用于此目的?我应该能够编写一些触发virtualenv的bash脚本(使用合适的软件包),然后运行我的代码..但这看起来有些混乱,我想知道我是否重新发明了这个轮子?

是否有任何简单的解决方案来分发具有依赖关系的python代码,理想情况下sudo在客户端机器上不需要?

python installer virtualenv distribute

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

自动更新python脚本

TL; DR我需要一个模块,它会在后台自动更新我的脚本.

我有一个Python脚本,我分发给用户.我经常更新这个,然后让他们更新它(通过PIP).显然,对于只想使用应用程序而不考虑更新应用程序的用户来说,这不是一个高优先级.

我希望它可以自动更新我的应用,就像谷歌浏览器在后台默默地更新我的应用程序一样.是否有图书馆允许我这样做?如果没有,是否有一种直接的方式来使用PIP /分配模块来做到这一点?

python pip distribute automatic-updates

11
推荐指数
1
解决办法
2661
查看次数

使用distribute/setuptools创建符号链接(或运行脚本)?

作为项目设置过程的一部分,我需要将其中一个软件包符号链接到指定的目录,以便init.d脚本可以找到它.有没有办法将此作为后处理命令添加到setup()?我甚至愿意创建另一个创建链接的文件并将其setup()作为"运行这些"的一些kwarg列表的一部分传递(如果存在这样的选项).

setup(
    ...
    packages = find_packages('src'),
    package_dir = {'': 'src'},
    install_requires = ...,
    data_files = [('/etc/init.d', ['scripts/foo'])],
    ...
)
Run Code Online (Sandbox Code Playgroud)

foo脚本期望其中一个包与src/其他地方的符号链接(例如,不是简单地打开PYTHONPATH).有没有办法实现这一目标?

python symlink setuptools distribute

10
推荐指数
2
解决办法
3772
查看次数

Setuptools无法使用dependency_links中的链接

我一直在尝试安装配置了以下设置的软件包:

setup(
    packages=find_packages(),
    include_package_data=True,
    install_requires=[
        'Django==1.5.1',
        'xhtml2pdf',
    ],
    dependency_links=[
        'https://github.com/chrisglass/xhtml2pdf/zipball/28d12fcaafc4c47b13f1f6f42c2bfb73f90cc947#egg=xhtml2pdf',
    ],
)
Run Code Online (Sandbox Code Playgroud)

但是它会从PyPi安装XHTML2PDF包,而不是使用指定的链接.根据输出(我运行安装使用pip install -vvv package.tar.gz),它可能无法从链接解析版本(// 1在代码中),或者我没有指定正确的项目名称(// 2在代码中):

Downloading/unpacking xhtml2pdf (from mypackage==1.3)
  Getting page https://pypi.python.org/simple/xhtml2pdf/
  URLs to search for versions for xhtml2pdf (from mypackage==1.3):
  * https://pypi.python.org/simple/xhtml2pdf/
  * https://github.com/chrisglass/xhtml2pdf/zipball/28d12fcaafc4c47b13f1f6f42c2bfb73f90cc947#egg=xhtml2pdf
  Getting page https://github.com/chrisglass/xhtml2pdf/zipball/28d12fcaafc4c47b13f1f6f42c2bfb73f90cc947
  Analyzing links from page https://pypi.python.org/simple/xhtml2pdf/
    Found link https://pypi.python.org/packages/source/x/xhtml2pdf/xhtml2pdf-0.0.1.tar.gz#md5=9f83a2bcb67858aca9e058761f3bea7b (from https://pypi.python.org/simple/xhtml2pdf/), version: 0.0.1
    Found link https://pypi.python.org/packages/source/x/xhtml2pdf/xhtml2pdf-0.0.2.tar.gz#md5=d640ccb9470942fd2e6d3ae740c27dc1 (from https://pypi.python.org/simple/xhtml2pdf/), version: 0.0.2
    Found link https://pypi.python.org/packages/source/x/xhtml2pdf/xhtml2pdf-0.0.1.zip#md5=4ad41c845735ae14da99085311d84c00 (from https://pypi.python.org/simple/xhtml2pdf/), version: 0.0.1
    Found link https://pypi.python.org/packages/source/x/xhtml2pdf/xhtml2pdf-0.0.4.zip#md5=5f035cd6532bef99b7d35054caaa6ef7 (from https://pypi.python.org/simple/xhtml2pdf/), version: 0.0.4 …
Run Code Online (Sandbox Code Playgroud)

python setuptools distribute

10
推荐指数
1
解决办法
5391
查看次数