я создал свой первый пакет со следующим setup.py:setup.py установленный пакет не может быть импортирован
from setuptools import setup, find_packages
setup(
name='mygn',
version='0.1',
packages=find_packages(exclude=['test', 'test.*']),
include_package_data=True,
platforms='any',
install_requires=[
'lxml==3.3.5',
'Pillow==3.0.0',
'requests==2.2.1',
'xmltodict==0.10.1',
'pdfrw==0.2',
'python-dotenv==0.4.0',
'boto==2.39.0',
'click==6.4'
]
)
Я установил его в virtualenv с помощью pip install .
, после чего просмотреть установленные пакеты с
$ pip freeze
boto==2.39.0
click==6.4
mygn==0.1 # <== here it is
lxml==3.3.5
ordereddict==1.1
pdfrw==0.2
Pillow==3.0.0
python-dotenv==0.4.0
requests==2.2.1
xmltodict==0.10.1
затем я попробовал импортировать его, но это не удается:
(venv) $ python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import mygn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mygn
>>> import xmltodict # no problem importing other modules from the pip freeze
>>>
Любые идеи ш Может, я ошибаюсь?
I 'chmod -R 777'-ed весь каталог virtualenv' venv', но, к сожалению, это не помогло. Любые другие идеи? – kramer65
Мне интересно, будет ли использование одиночных кавычек для исключения find_packages работать с дикими картами, которые вы используете. Я только видел, что люди используют двойные кавычки. Даже для большинства примеров вроде: ** packages = find_packages (exclude = ["*. Tests", "* .tests. *"]) **. Одна из вещей, которые я видел, - это то, что даже если вы укажете информацию в ** package_data ** или ** ** файле MANIFEST.in **, некоторые из времен ** include_data_packages = True ** не будут на самом деле использовать все файлы, которые вы пытались включить. Возможно, вы захотите попробовать ** distutils ** вместо setuptools. – Dresden