Я пытаюсь установить приложение Pyramid - допустим, test_app
. внутри виртуальной среды, и он устанавливается как test-app
(вывод о замораживании контура показывает его test-app==0.0
).Почему PIP конвертирует символы подчеркивания в тире
Из-за этого я не могу импортировать пакет.
Как исправить эту проблему?
Подробнее: http://mail.python.org/pipermail/distutils-sig/2011-August/017935.html
Я использую пип версии 1.3.1
setup.py:
import os
from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()
CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
requires = [
'pyramid',
'pyramid_debugtoolbar',
'waitress',
]
setup(name='test_app',
version='0.0',
description='test_app',
long_description=README + '\n\n' + CHANGES,
classifiers=[
"Programming Language :: Python",
"Framework :: Pyramid",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
],
author='',
author_email='',
url='',
keywords='web pyramid pylons',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
install_requires=requires,
tests_require=requires,
test_suite="test_app",
entry_points="""\
[paste.app_factory]
main = test_app:main
""",
)
UPDATE:
обобщить результаты до сих пор:
- Это нормально, что pip сообщает имя пакета в качестве тестового приложения.
- Неправильно, что ссылка на яйцо указывает на ваш виртуальный корень env.
- Но тот факт, что файл .egg-info создается внутри вашего виртуального корня env, а также указывает на то, что он развивается с использованием этого каталога в качестве корня яйца.
Резюме: команда 'develop' создает каталог' .egg-info' в корне виртуального env, а файл '.egg-link' указывает на тот же корневой каталог. Это является причиной ошибки импорта. Тот факт, что 'pip' сообщает имя пакета как' test-app', является нормальным. –
@MartijnPieters Я решил проблему. См. Мой ответ. – treecoder