相关疑难解决方法(0)

找不到pg_config可执行文件

我在安装psycopg2时遇到问题.我尝试以下时出现以下错误pip install psycopg2:

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:



    python setup.py build_ext --pg-config /path/to/pg_config build ...



or with the pg_config option in 'setup.cfg'.

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
Run Code Online (Sandbox Code Playgroud)

但问题pg_config实际上是在我的PATH; 它运行没有任何问题:

$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

我尝试将pg_config路径添加到该setup.cfg文件并使用我从其网站(http://initd.org/psycopg/)下载的源文件构建它,我收到以下错误消息!

Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Run Code Online (Sandbox Code Playgroud)

但实际上它就是!!!

我对这些错误感到困惑.有人可以帮忙吗?

顺便说一句,我 …

python pip psycopg2

646
推荐指数
38
解决办法
43万
查看次数

requirements.txt vs setup.py

我开始使用Python.我已经添加了requirements.txtsetup.py我的项目.但是,我仍然对这两个文件的目的感到困惑.我读过这setup.py是为可再发行的东西而requirements.txt设计的,它是为不可再发行的东西而设计的.但我不确定这是否准确.

这两个文件真的打算如何使用?

python setup.py requirements.txt

68
推荐指数
4
解决办法
2万
查看次数

什么时候-e, - edit选项对pip install有用吗?

该选项-e--editable选项何时有用pip install

对于某些项目,requirements.txt中的最后一行是-e ..它究竟做了什么?

python pip

36
推荐指数
4
解决办法
1万
查看次数

点子安装.只创建dist-info而不是包

我正在尝试制作一个我想在pip install .本地安装的python包.包名称列在pip freezeimport <package>导致错误No module named <package>.site-packages文件夹也只包含dist-info文件夹.find_packages()能够找到包裹.我错过了什么?

import io
import os
import sys
from shutil import rmtree

from setuptools import find_packages, setup, Command

# Package meta-data.
NAME = '<package>'
DESCRIPTION = 'description'
URL = ''
EMAIL = 'email'
AUTHOR = 'name'

# What packages are required for this module to be executed?
REQUIRED = [
    # 'requests', 'maya', 'records',
]

# The rest you shouldn't have to touch too …
Run Code Online (Sandbox Code Playgroud)

python pip package setup.py

26
推荐指数
2
解决办法
5722
查看次数

如何构建符合 PEP 517 的 C 扩展,即使用 pyproject.toml 而不是 setup.py?

我想为 CPython 构建一个 C 扩展。我可以按照传统方式使用setup.py文件来完成此操作。然而,由于 PEP 517 中提到的原因,我更喜欢使用pyproject.toml. 据我所知,这setuptools是唯一可以在所有相关平台上构建 C 扩展的构建后端。事实上,我不知道有任何后端能够与过时的distutils.

在此背景下,常见的情况setup.py如下所示:

from setuptools import setup, Extension
kwargs = dict(
    name='mypackage',
    # more metadata
    ext_modules=[
        Extension('mypackage.mymodule', ['lib/mymodule.c',
                                         'lib/mypackage.c',
                                         'lib/myalloc.c'],
                  include_dirs=['lib'],
                  py_limited_api=True)])

setup(**kwargs)
Run Code Online (Sandbox Code Playgroud)

现在,挑战是将以上内容放入 a pyproject.tomlplus a中setup.cfg

文档setuptools建议pyproject.toml如下:

[build-system]
requires = [
    "setuptools >=52.0",
        'wheel >= 0.36']
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)

此外,实际的元数据应该进入setup.cfg. 但是,我还没有找到任何关于如何将ext_moduleskwarg(特别Extension()是调用)转换为setup.cfg语法的解释。

python setuptools setup.py python-packaging pyproject.toml

26
推荐指数
1
解决办法
4703
查看次数

如何在setup.py脚本中包含许可文件?

我用C++编写了一个Python扩展模块.我打算用setuptools分发模块.将有用于32位和64位Windows(内置setup.py bdist_egg)的二进制发行版和用于类UNIX平台(内置setup.py sdist)的源代码发行版.

我打算根据BSD许可证授权该模块.在我的源代码树中,文件LICENSE.txt与setup.py一起位于顶层文件夹中.我应该如何将其包含在安装包中?

我尝试了以下setup.py脚本:

from setuptools import setup, Extension
from glob import glob

setup(
    name = 'Foo',
    version = '0.1.0',
    ext_modules = [Extension('Foo', glob('Source/*.cpp'))],
    package_data = {'': ['LICENSE.txt']}
)
Run Code Online (Sandbox Code Playgroud)

它不起作用,许可证文件不包含在安装包中.也许是因为setup.py文件没有定义任何包,只有一个扩展模块.

我该如何解决?

python setuptools

24
推荐指数
4
解决办法
8654
查看次数

我应该只使用 pyproject.toml 吗?

我应该仅使用 pyproject.toml 还是将其与 setup.py 和 setup.cfg 一起使用?或者也许是它们的其他组合。

我找不到这个问题的任何明确答案,所以如果有人能够启发这个问题,我会很高兴。

python setuptools pypi python-packaging

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

Python:pip 找不到 setup.py

如何直接 pip 查找setup.py?我的setup.py文件位于~/setuptools-3.5.1.

我跑了

dustin@dustin:~$ python setuptools-3.5.1/setup.py egg_info
running egg_info
writing requirements to setuptools.egg-info/requires.txt
writing setuptools.egg-info/PKG-INFO
writing top-level names to setuptools.egg-info/top_level.txt
writing dependency_links to setuptools.egg-info/dependency_links.txt
writing entry points to setuptools.egg-info/entry_points.txt
reading manifest file 'setuptools.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'setuptools.egg-info/SOURCES.txt'
dustin@dustin:~$ 
Run Code Online (Sandbox Code Playgroud)

所以看起来一切都很好,但是当我运行 pip 时,我得到

Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib
Storing debug log for failure in /home/dustin/.pip/pip.log
Run Code Online (Sandbox Code Playgroud)

我的印象是,当我运行 pip 时,它没有找到setup.py

python pip setuptools

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