簡體   English   中英

setup.py並安裝python項目

[英]setup.py and installing a python project

我查看了setup.py文檔,我仍然遇到一些困難,我認為應該是非常基本的。

我把它分解為一個我想要運行的簡單示例項目,我的項目目錄布局如下:

myproject
  setup.py
  src\
    main.py
      extern\
      __init__.py
      mytest.py

MyProject的/ setup.py:

#!/usr/bin/env python
from distutils.core import setup

setup(name = "myproject",
      package_dir = {'':"src"},
      packages = ["extern"],
      scripts = ["src/main.py"],
      )

MyProject的/ src目錄/ main.py:

#! /usr/bin/env python
import extern.mytest as mytest

mytest.print_test()

MyProject的/ src目錄/ EXTERN / mytest.py:

#!/usr/bin/env python
def print_test():
    print "YAY"

myproject / src / extern / _ init _.py為空。

我正在運行setup.py:

setup.py install --prefix ~/local

setup.py將完成沒有錯誤並將main.py移動到〜/ local / bin但是當我運行它時,我收到以下錯誤:

ImportError: No module named extern.mytest

知道我做錯了什么嗎? 謝謝!

問題是該模塊不在sys.path下,並且import語句無法找到它。

在我的例子中, extern模塊安裝在~/local/lib/python2.7/site-packages/extern 但請注意,在安裝過程中,安裝路徑被任意設置為~/local

要解決此問題,可以將PYTHONPATH變量設置為安裝模塊的位置,或將該路徑添加到main.py sys.path

或者,而不是:

setup.py install --prefix ~/local

使用:

setup.py install --user

這將安裝在您的用戶站點包目錄(我的平台中的~/.local )中,python將能夠毫無問題地找到該包。 但是,您可能需要更改PATH環境變量以包含~/.local/bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM