Невозможно нажать проект Django Python в Heroku [duplicate]

Вы можете использовать плагин зависимости, чтобы генерировать все зависимости в отдельном каталоге до фазы пакета, а затем включать это в путь к классам манифеста:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>theMainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

Альтернативно использовать ${project.build.directory}/classes/lib как OutputDirectory для интеграции всех jar-файлов в основную банку, но тогда вам нужно будет добавить пользовательский код загрузки классов для загрузки банок.

225
задан Mark Amery 17 April 2016 в 19:00
поделиться

13 ответов

Вот код, который должен работать как на Python 2.x, так и на 3.x

. Очевидно, вам понадобится модуль six, но практически невозможно писать модули, работающие в обеих версиях без шесть.

try:
    import configparser
except:
    from six.moves import configparser
8
ответ дан aircraft 3 September 2018 в 16:19
поделиться

Совместимость Python 2/3 для configparser может быть решена просто библиотекой six

from six.moves import configparser
2
ответ дан Akif 3 September 2018 в 16:19
поделиться

Если вы используете CentOS, вам нужно использовать

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. pip install mysqlclient
4
ответ дан Davis Herring 3 September 2018 в 16:19
поделиться

Чтобы увидеть, что /usr/bin/python указывает на

, если он указывает на python3 or higher, изменится на python2.7

Это должно решить проблему.

Я получал ошибку установки для всех пакетов python. Решение Abe Karplus & amp; обсуждение дало мне подсказку о том, что может быть проблемой. Затем я вспомнил, что я вручную изменил /usr/bin/python с python2.7 на /usr/bin/python3.5, что фактически вызвало проблему. Как только я reverted тот же. Это было решено.

-2
ответ дан Fooo 3 September 2018 в 16:19
поделиться

Я получил еще один ответ Valeres:

pip install configparser sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py Затем попробуйте снова установить MYSQL-python. Это работает для меня

Я бы предложил связать файл, а не копировать его. Он сохраняется для обновления. Я связал файл с каталогом /usr/lib/python3/.

1
ответ дан FrankHsnblg 3 September 2018 в 16:19
поделиться

как насчет проверки версии Python, которую вы используете в первую очередь.

import six
if six.PY2:
    import ConfigParser as configparser
else:
    import configparser
0
ответ дан Gideon Kimutai 3 September 2018 в 16:19
поделиться
brew install mysql

pip3 install mysql все еще дает ошибку «configparser», и я не знаю, почему это еще не исправлено.

1
ответ дан Grant Miller 3 September 2018 в 16:19
поделиться

Попробуйте это решение, которое отлично сработало для меня.

В основном, это переустановка / обновление до последней версии mysql от варева, а затем установка mysqlclient или MySQL-Python из global pip3 вместо virtualenv pip3.

Затем вы получите доступ к virtualenv и успешно установите mysqlclient или MySQL-Python.

0
ответ дан Jee 3 September 2018 в 16:19
поделиться

MySQL-python не поддерживается на python3 вместо этого вы можете использовать mysqlclient

Если вы на fedora/centos/Red Hat установите следующий пакет

  1. yum install python3-devel
  2. pip install mysqlclient
7
ответ дан Kaushal 3 September 2018 в 16:19
поделиться

Вместо этого вы можете использовать пакет mysqlclient как замену для MySQL-python. Это вилка MySQL-python с добавленной поддержкой Python 3.

Мне повезло с просто

pip install mysqlclient

в моем python3.4 virtualenv после

sudo apt-get install python3-dev libmysqlclient-dev

, который явно специфичен для ubuntu / debian, но я просто хотел поделиться своим успехом:)

305
ответ дан Mark Amery 3 September 2018 в 16:19
поделиться

Я запускаю kali linux-Rolling, и я столкнулся с этой проблемой, когда попытался запустить cupp.py в терминале, после обновления до python 3.6.0. После некоторых исследований и испытаний я обнаружил, что смена ConfigParser на configparser работала для меня, но затем я столкнулся с другой проблемой.

config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'

После немного большего исследования я понял, что для python 3 ConfigParser изменено на configparser, но обратите внимание, что у него есть атрибут ConfigParser().

0
ответ дан Oliver Wahome 3 September 2018 в 16:19
поделиться
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py

Затем попробуйте снова установить MYSQL-python. Это работало для меня

1
ответ дан Valere 3 September 2018 в 16:19
поделиться

Это сработало для меня

cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py
-2
ответ дан Vojtech Ruzicka 3 September 2018 в 16:19
поделиться
Другие вопросы по тегам:

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