Установить локальный пакет в среде анаконды - PullRequest
0 голосов
/ 30 октября 2018

ВЫПУСК: Я хотел бы установить локальный пакет в определенной среде conda. Для этого я прочитал текущую документацию ( python-package ).

структура пакета:

$ pwd
~/…/test
.
|- requirements.txt
|- my_package
|   |-- __init__.py
|   |-- base.py
|- setup.py

setup.py

# -*- coding: utf-8 -*-

import os
from setuptools import setup

with open('requirements.txt') as f:
    requirements = f.read().splitlines()

setup(
    name='my_package',
    version='2.0.0',
    author='B.Gees',
    author_email='B.Gees@gmail.com',
    license='MIT',
    packages=['my_package'],
    description='my package description',
    long_description='my package long description',
    keywords='chemistry machine learning cheminformatics',
    classifiers=[
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Intended Audience :: Healthcare Industry',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.5.5',
        'Topic :: Scientific/Engineering',
        'Topic :: Scientific/Engineering :: Bio-Informatics',
        'Topic :: Scientific/Engineering :: Chemistry',
        'Topic :: Scientific/Engineering :: Pharmacokinetic',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ],
    install_requires=requirements,
    zip_safe=False
)

requirements.txt

pandas==0.19.2
dill==0.2.7.1
cython==0.23.4

__ __ INIT. Ру

# -*- coding: UTF-8 -*-

"""
my_package
~~~~~~~~~~

my package full description

:copyright: (c) 2018 by B.Gees.
:license: MIT, see LICENSE file for more details.
"""

from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
import logging

__title__ = 'my_package'
__version__ = '2.0.0'
__author__ = 'B.Gees'
__email__ = 'B.Gees@gmail.com'
__license__ = 'MIT'
__copyright__ = 'Copyright 2018 B.Gees'

log = logging.getLogger(__name__)
log.addHandler(logging.NullHandler())

base.py

# -*- coding: UTF-8 -*-

def titi(x):
    return x**2

Я устанавливаю свой пакет в определенной среде conda со следующими строками кода:

conda activate my_env
pip install . # In my package repository

Тем не менее, когда я пытаюсь импортировать my_package в блокнот jupyter, я получаю следующую ошибку:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-9-daa52839320b> in <module>()
----> 1 import my_package

ImportError: No module named 'my_package'

Эта установка работает нормально, когда я использовал python pip external conda environment.

ВОПРОС: Я не знаю, как правильно установить мой пакет в конкретной среде conda. Мне нужны твои огни, чтобы просветить меня.

КОНФИГУРАЦИЯ: MacOSX с conda3 и python3.5; Должен быть совместим с Linux 7

1 Ответ

0 голосов
/ 30 октября 2018

Вы используете MacOSX, поэтому сначала вы должны использовать source activate yourenvname, затем вы можете использовать то, что вы сделали для установки вашего пакета. для получения дополнительной информации Как активировать среду Anaconda

поэтому начните с: conda create --name my_env python=3.5 тогда source activate my_env

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...