问题:我想在特定的conda环境中安装本地软件包。为了做到这一点,我阅读了当前的文档(python-packaging)。
软件包结构:
$ 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
我使用以下代码将我的软件包安装在特定的conda环境中:
conda activate my_env
pip install . # In my package repository
然而,当我试图在jupyter笔记本中导入my_package
时,我得到了以下错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-9-daa52839320b> in <module>()
----> 1 import my_package
ImportError: No module named 'my_package'
这个安装包在conda环境外使用python的pip安装正常。但我不知道如何在特定的conda环境中正确地安装我的包。请帮忙解答。
配置信息:MacOSX系统,conda3和python3.5,需要与Linux 7兼容。
conda develop <directory>
- https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-develop.html - Felipe Ferrari ferrari212