a roda de instalação do python conduz a um erro de importação

Eu gostaria de fazer uma distribuição binária de roda, integrá-la e depois importá-la em python. Os meus passos são

    Primeiro crio a roda.
  • instalo a roda: pip install ./dist/*.whl
  • tento importar o pacote: python -c"import my_package"
Isto leva ao erro.: ImportError: No module named 'my_package'

também, quando o faço pip list, o my_package está listado. No entanto, quando corro, nada é mostrado.

Quando corro, tudo funciona como esperado.

Como construiria e instalaria correctamente uma roda?

Python versão 3.5 pip version 10.1 wheel version 0.31.1

actualizar:

Quando olho para os ficheiros dentro do meu ficheiro-1.0.0.dist-info, existe uma entrada inesperada em top_level.txt. É o nome da pasta onde corri. Entra. Acho que o meu está partido.

ACTUALIZAÇÃO EM RELAÇÃO À RESPOSTA ACEITE: Aceitei a resposta abaixo. No entanto, penso que é melhor simplesmente cd na pasta de pacotes. Mudar para uma pasta diferente, como sugerido abaixo, leva a um comportamento inesperado ao usar a opção -d, ou seja, a pasta de destino onde gravar a roda. Isto seria relativo ao diretório especificado no setup.py file.

Author: Zuabi, 2019-01-11

3 answers

Se precisar de executar o programa de configuração de outra pasta, certifique-se de que está a introduzir a pasta do projecto no programa.

from setuptools import setup

root = os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))
os.chdir(root)

# or using pathlib (Python>=3.4):
import patlib
root = pathlib.Path(__file__).parent
os.chdir(str(root))

setup(...)
 1
Author: hoefling, 2019-01-11 13:38:19
Tive o mesmo erro, mas foi devido à minha ... setup.py sem especificar o item " packages=setuptools.find_packages ()". Tudo se constrói bem sem isso, mas você não pode importar nada, mesmo que o pip mostra para ser instalado.
 2
Author: wkirgsn, 2020-02-08 10:17:07

No meu caso, para resolvê-lo, tinha de actualizar o pip (uma vez que o Docker instalou o pip 9).

python3 -m pip install --upgrade pip
 0
Author: thethiny, 2020-08-04 13:45:20