Como definir o caminho correto do python no Ubuntu [closed]

0

Estou tentando executar um programa python simples no servidor ubuntu 12.04. No entanto, recebo um erro de importação para um módulo que escrevi. A pasta do módulo tem uma pasta init .py, no entanto python parece não encontrá-lo dando o seguinte erro

user1@cl:~/git/p1/test$ ls
  modules  prog1.py 
user1@cl:~/git/p1/test$ python prog1.py
Traceback (most recent call last):
  File "prog1.py", line 8, in <module>
    from modules import find
ImportError: No module named modules

A partir da leitura da pergunta associada, parece que preciso definir um caminho de python. Alguém poderia me dizer exatamente quais arquivos eu preciso modificar, eu vi sugestões, incluindo .bashrc .bash_profile e .profile. E também o diretório que eu preciso para apontar o caminho também. Não tenho certeza se esse deve ser meu diretório pessoal ou a pasta exata em que meu programa está ou a pasta em que o módulo está.

Desculpe se esta é uma pergunta muito básica que eu sou novo no Ubuntu

    
por david 29.04.2014 / 21:53

2 respostas

0

Da sua pergunta, não sei qual é a situação exata, mas para definir um caminho (qualquer) de um programa ou script python:

import sys
sys.path.insert(0, "/path/to/your/module(s)")

No entanto, olhando as duas primeiras linhas de sua pergunta, tanto o programa quanto a pasta modules estão no mesmo diretório, o que torna a configuração do caminho desnecessária. Parece que há algo errado com o seu arquivo __init__.py ; você menciona uma pasta "init.py", mas existe um arquivo (vazio) chamado __init__.py ?

A estrutura dos módulos deve ser:

modules (folder)
|___  __init__.py
|___  file1.py
|___  file2.py

etc.

para importar:

from modules import file1, file2 (file1, 2 without extension)
    
por Jacob Vlijm 29.04.2014 / 22:30
0

Primeiro, você deve dar uma olhada na documentação do python relacionada a pacotes.

Agora, se você precisar fornecer o caminho para o seu módulo, faça o seguinte:

cd ~/git/p1/test
PYTHONPATH=/home/user1/ python ./prog1.py

Basta substituir /home/user1/ pelo caminho completo do seu módulo caseiro.

    
por Sylvain Pineau 29.04.2014 / 22:05

Tags