Install local package in anaconda environment

Viewed 10790

ISSUE: I would like to install local package in a specific conda environment. To do that, I read the current documentation (python-packaging).

package structure:

$ 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__.py

# -*- 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

I install my package in a specific conda environment with the folowing code lines:

conda activate my_env
pip install . # In my package repository

Nevertheless, when I try to import my_package in jupyter notebook, I obtain the following error:

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

ImportError: No module named 'my_package'

This installation works fine when I used python pip outer conda environment.

QUESTION: I don't know how to install my package correctly in a specific conda environment. I need your lights to enlighten me.

CONFIGURATION: MacOSX with conda3 and python3.5 ; Need to be compatible with Linux 7

1 Answers

You are using MacOSX, so you should firstly use source activate yourenvname, then you can use what you did to install your package. for more information How to activate an Anaconda environment

so start with : conda create --name my_env python=3.5 then source activate my_env

Related