首页 > 解决方案 > 如何在 Linux 共享主机上运行的 python 脚本中导入其他 python 程序?

问题描述

我有一个名为 Hello.py 的简单脚本,它可以很好地直接从 Web 浏览器调用。

我遇到的问题是,当我添加from abc import cde(其中 abc.py 是文件,cde 是其中的模块/函数)时,它只打印最上面的打印命令,然后什么也不做。

这是在运行 python 2.6.6 的共享主机上运行的(我为 ver3.5.2 和 Linux 创建了一个虚拟环境。

任何帮助或见解表示赞赏。

Hello.py 看起来像 -

#!/home/username/.local/bin/python3
print('Content-Type: text/html\n\n')
print ("Hello\n\n")

from pull import pull

pull()

标签: pythonscripting

解决方案


拉看起来像这样,

  1. 所有其他导入都是用于创建或协助的自定义 Python 文件。
  2. 它们存在于同一个文件夹中,具有 755 个权限。
  3. 运行脚本(Hello.py)时没有显示任何错误,并且 pull.py 通过终端/SSH 运行良好。

    !/home/username/.local/bin/python3

    print('\n\n\a---------------开始拉动------------ ------------\r\n\r')

    将熊猫导入为 pd

    从日期时间导入日期时间,时间增量

    从 CreationModule 导入 createFiles、createFolders、writeFile

    从 NSE 分析导入 NSE

    df = pd.read_csv('Datasets/MC_Master.csv')

    今天 = pd.datetime.today().strftime('%d-%m-%Y')

    fmt = '%H%M%S'

    时间 = pd.datetime.now().strftime(fmt)

    Y = datetime.today() - timedelta(days=1)

    昨天 = Y.strftime('%d-%m-%Y')

    文件夹 = 'Nifty50/' + 今天+ '/'

    Yfolder = 'Nifty50/' + 昨天 + '/'

    e = len(df) 打印(e)

    crtFil = 创建文件()

    crtFol = 创建文件夹()

    crtFol.Nifty50()

    a = 0

    定义拉():

    a = 0
    
    try:
    
        for r in df['Symbol']:
    
            print(a+1,'---------->', r)
    
            wrtFil = writeFile()
    
            wrtFil.QuandlPull(r)
    
            a += 1
    
         if a == e:
    
             print('We are done', a, ' of ', e)
    
    except:
    
        pull()
    
        a +=1
    

    返回()

    拉()

    NSE()


推荐阅读