[英][Python]Can't make Travis CI work. PATHs problems
通常,這是我第一次使用Travis和“測試”。 我創建了一些測試,現在想將它們添加到Travis中,但是在使用PATH時遇到了麻煩。
這是我所擁有的:
sheetmaker/
html_builder.py
constants.py
sheetmaker.py
tests/
test_html_builder.py
data/
test_html_constants.py
我設法運行test_html_builder.py
並且測試在我的PC中正常工作。 簡而言之,這就是我在test_html_builder.py中導入內容的方式
sys.path.insert(0, os.path.abspath('..'))
from sheetmaker import html_builder
from data import test_html_constants
這在本地有效,但是Travis CI說:
進口東西的正確方法是什么? 這是github項目的更多詳細信息: github項目!
提前致謝。
經過大量研究,我開始打印print(sys.path)
來查找“我在哪里工作”。 從那里我創建了一個異常處理程序
try:
sys.path.insert(0, os.path.abspath('..')) #Works for local
from sheetmaker import html_builder
from data import test_html_constants
except:
sys.path.insert(0, os.path.abspath('.')) #Works for Travis CI
from sheetmaker import html_builder
from data import test_html_constants
這是導入模塊的正確方法嗎? 不知道,但是可以。
@ cosme12我沒有嘗試您的解決方案,但是我可以通過在.travis.yml中明確聲明PYTHONPATH來解決路徑問題
示例.travis.yml:
sudo: false
language: python
python:
- "3.6"
install:
- export PYTHONPATH=$PYTHONPATH:$(pwd)/src/thermo
- python3 setup.py install
script:
- pytest -s
只需手動將缺少的路徑添加到.travis.yml中,travis應該可以工作。
我喜歡此解決方案,因為您不需要更改代碼,只需更改travis配置文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.