configure: error: utf8_mime2text () имеет новую подпись, но U8T_CANONICAL отсутствует

Мне нужно проверить, является ли list1 подписок для list2 (True, если любое целое число в списке2, которое является общим с list1, находится в том же порядке индексов, что и в списке1)

Ваш код не работает, потому что, как только элемент списка в ls1 не встречается в ls2, он немедленно вернет False.

Это создает два списка, которые содержат только общие элементы (но в их первоначальный порядок), а затем возвращает True, когда они одинаковы:

def sublist(lst1, lst2):
   ls1 = [element for element in lst1 if element in lst2]
   ls2 = [element for element in lst2 if element in lst1]
   return ls1 == ls2

edit: вариант с эффективностью памяти:

def sublist(ls1, ls2):
    '''
    >>> sublist([], [1,2,3])
    True
    >>> sublist([1,2,3,4], [2,5,3])
    True
    >>> sublist([1,2,3,4], [0,3,2])
    False
    >>> sublist([1,2,3,4], [1,2,5,6,7,8,5,76,4,3])
    False
    '''
    def get_all_in(one, another):
        for element in one:
            if element in another:
                yield element

    for x1, x2 in zip(get_all_in(ls1, ls2), get_all_in(ls2, ls1)):
        if x1 != x2:
            return False

    return True
29
задан GabLeRoux 13 January 2018 в 21:25
поделиться

8 ответов

Я не знаю, каков ответ на мой вопрос, но я нашел другой подход / решение.

http://php-osx.liip.ch/

Итак, проблема решена.

-1
ответ дан Mikulas Dite 13 January 2018 в 21:25
поделиться

Старые темы никогда не умирают ...

Я на OSX Yosemite 10.10.5, и установил свой собственный php, в настоящее время 5.6.1, и хочу обновить до 5.6.13 - столкнулся с той же ошибкой сразу после imap.

Увидел эту ветку и запустил brew install map-uw, затем запустил configure, основываясь на моем существующем выводе phpinfo.

./configure \
--prefix=/usr/local/php5 \
--with-apxs2=/usr/sbin/apxs \
--with-config-file-scan-dir=/usr/local/php5/php.d \
--with-openssl=/usr \
--with-zlib=/usr \
--with-zlib-dir=/usr \
--with-gd \
--with-ldap \
--with-xmlrpc \
--enable-exif \
--enable-soap \
--enable-wddx \
--enable-ftp \
--enable-sockets \
--with-bz2=/usr \
--enable-zip \
--enable-shmop \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-mbstring \
--enable-bcmath \
--enable-calendar \
--with-mhash \
--enable-fpm \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-pcntl \
--enable-dtrace \
--enable-opcache \
--disable-phpdbg \
--with-icu-dir=/usr/local/php5 \
--with-mssql=shared,/usr/local/php5 \
--with-pdo-dblib=shared,/usr/local/php5 \
--with-libxml-dir=shared,/usr/local/php5 \
--with-xsl=shared,/usr/local/php5 \
--with-imap=shared,/usr/local/Cellar/imap-uw/2007f \
--with-kerberos=/usr \
--with-imap-ssl=/usr \
--with-gettext=/usr/local/php5 \
--with-curl=shared,/usr/local/php5 \
--with-png-dir=/usr/local/php5 \
--with-jpeg-dir=/usr/local/php5 \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/local/php5 \
--with-pgsql=shared,/usr/local/php5 \
--with-pdo-pgsql=shared,/usr/local/php5 \
--with-mcrypt=shared,/usr/local/php5 \
--with-tidy=/usr/local/php5 \
--with-gmp=shared,/usr/local/php5 \
--with-readline=shared,/usr/local/php5

Затем make. И, похоже, работает нормально.

6
ответ дан GabLeRoux 13 January 2018 в 21:25
поделиться

Если у вас есть RPM «libc-client-devel» или другой пакет в вашем репозитории ОС, установите его.

Это обеспечит библиотеку c-client и файлы заголовков, которые нужны PHP для поддержки IMAP.

15
ответ дан kervin 13 January 2018 в 21:25
поделиться

Для тех, у кого такая же ошибка в докере:

RUN apt-get update && apt-get install -y libc-client-dev libkrb5-dev && rm -r /var/lib/apt/lists/*
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
    && docker-php-ext-install imap
55
ответ дан Aistis 13 January 2018 в 21:25
поделиться

ошибку можно исправить, удалив поддержку IMAP, удалив эти строки

--with-imap=/usr/local/imap-2007
--with-imap-ssl
9
ответ дан mkj 13 January 2018 в 21:25
поделиться

Установите imap перед установкой php.

brew install imap-uw

, затем

brew install php55 --with-fpm --with-imap --without-apache - with-debug

Опция --with-imap должна работать нормально.

2
ответ дан t4ncr3d3 13 January 2018 в 21:25
поделиться

Я установил следующий пакет, и он работает:
uw-imap-devel

Запустите эту команду в CentOS 7. х:
yum -y install uw-imap-devel

4
ответ дан Mat 13 January 2018 в 21:25
поделиться

Эта же проблема возникла у меня в Fedora при попытке компилировать PHP 5.5.0.

Проблема связана с параметром конфигурации '--with-imap'.

Чтобы решить эту проблему, я скомпилировал свою собственную версию imap из последнего источника (в настоящее время imap-2007f) и для этого мне пришлось установить некоторые предварительные условия. На федоре я так и сделал ...

yum install openssl openssl-devel pam-devel
wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz
tar zxvf imap-2007f.tar.gz

Затем мне пришлось создать мягкую ссылку, чтобы компилятор мог найти библиотеки. В моем случае я сделал следующее:

mkdir /usr/local/ssl
ln -s /usr/include /usr/local/ssl/include

и затем скомпилировал:

cd imap-2007f
make lnp SSLTYPE=unix EXTRACFLAGS=-fPIC

Затем я смог скомпилировать PHP, добавив исходный путь imap к параметру config следующим образом:

/path/to/php/src> ./configure ...other_params... '--with-imap=/path/to/imap-2007f' '--with-imap-ssl' 
make
make install
3
ответ дан Octopus 13 January 2018 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: