繁体   English   中英

Pip 在 conda 环境中安装本地 package

[英]Pip install local package in conda environemnt

我最近开发了一个 package my_package并将其托管在 GitHub 上。 为了便于安装和使用,我有以下setup.py

from setuptools import setup

setup(name='my_package',
      version='1.0',
      description='My super cool package',
      url='https://github.com/my_name/my_package',
      packages=['my_package'],
      python_requieres='3.9',
      install_requires=[
            'some_package==1.0.0'
      ])

现在我正在尝试在 conda 环境中安装这个 package:

conda create --name myenv python=3.9
conda activate myenv 
pip install git+'https://github.com/my_name/my_package'

到目前为止,一切都很好。 如果我尝试在项目文件夹中使用它,一切正常。 如果我尝试在项目文件夹之外使用数据包(仍在 conda 环境中),我会收到以下错误:ModuleNotFoundError: No module named 'my_package'

如果这很重要,我正在研究 windows。

编辑:

我正在验证 python 和 pip 都指向正确的版本:

which pip 
which python

/c/Anaconda3/envs/my_env/python
/c/Anaconda3/envs/my_env/Scripts/pip

另外,当我运行时:

pip show my_package

我得到了我的 package 的描述。 所以 pip 找到了它,但是当我尝试在脚本中import my_package时,我得到了描述的错误。

我还验证了我的环境中安装了 package。 所以在/c/Anaconda3/envs/my_env/lib/site-packages有一个文件夹my_package-1.0.dist-info/

进一步: python "import sys, print(sys.path)"

除其他路径外,还显示/c/Anaconda3/envs/my_env/lib/site-packages 所以它在路径中。

在您的环境myenv中,首先尝试卸载您的 package,以进行干净的测试:

pip uninstall my_package

此外,您的setup.py中有一个错字:python_requieres --> python_requires。

而且我实际上尝试使用您的 setup.py 进行安装,并且还遇到了ModuleNotFoundError - 但由于install_requires没有正确安装:

ERROR: Could not find a version that satisfies the requirement some_package==1.0.0

因此,还要检查所有安装是否没有错误和警告。

希望有帮助。

检查您是否在脚本中使用了指向其他 Python 解释器的显式shebang

例如。 使用系统默认Python:

#!/bin/env python
...

我想指出的第一件事(不是解决方案)关于您所做的以下声明:

如果我尝试在项目文件夹中使用它 [...] 如果我尝试在项目文件夹之外使用数据包 [...]

我理解“项目文件夹”是指“ my_package ”文件夹(在 git 存储库中)。 如果是这种情况,我想指出您正在混合两种情况:在您的(本地)存储库测试(远程)package 安装 这不一定是错误的,但容易出错。

每当测试 package 的设置/安装过程时,请确保远离您的存储库(例如,Windows 中的“/tmp/”等效项),并且最好使用新环境。 这将消除测试中的“噪音”。

  1. 我要告诉你做的第一件事——如果还没有的话——是创建一个新的 conda env 并从一个空/新文件夹中安装你的 package。 例如,

     $ conda env create -n test_my_package ipython pip $ cd /tmp # equivalent temporary or new in your Windows $ pip install git+https://github.com/my_name/my_package
  2. If that doesn't work (maybe a problem with your pip' git+http code), do another way: create a release for your package (eg, " v1 ") and then install the released version by indicating the zip package URL (您从 Github 上的“my_package”发布页面获得):

     $ pip install https://github.com/my_name/my_package/archive/v1.zip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM