【问题标题】:Calling python setup.py install from another directory从另一个目录调用 python setup.py install
【发布时间】:2018-12-20 15:09:37
【问题描述】:

我有以下树状:

- root_folder <--- I'm here
    - folder
        - setup.py
        - myModule

当我从folder 运行python setup.py install 时,myModule 已正确安装,我可以执行import myModule

但是,当我从 root_folder 运行 python folder/setup.py install 时,import myModule 失败,我必须调用 import folder.myModule

如何从另一个文件夹调用 setup.py 脚本,但将根文件夹保留为包含 setup.py 文件的文件夹?

【问题讨论】:

  • 嗯,AFAIK,setup.py 期望从当前目录调用。从不同的主管调用它可能会产生不希望的和不可预测的影响。
  • 可能和你的问题有关:stackoverflow.com/questions/7505988/…
  • 如果您总是希望根文件夹为folder,那么您可以将文件夹标记为PYTHONPATH
  • @Soumendra 我正在从不同的文件夹安装多个包,所以我不想在这里将PYTHONPATH 设置为folder
  • 好吧,我想你只会从root_folder 调用setup.py 并且永远不会直接运行独立的setup.py 文件,那么import folder.myModule 有什么问题?

标签: python setup.py


【解决方案1】:

是的,您可以通过在子进程中执行 Python 在不同的目录中运行 setup.py

例如,如果您要在其中运行setup.py 的文件夹是C:\Program Files\foo,那么您可以使用:

$ python -c "import subprocess,os; os.chdir('C:\Program Files\foo'); subprocess.call(['python','setup.py','install'])"

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    相关资源
    最近更新 更多