问题如下:代码在pycharm上可以正常运行,在linux服务器报错No module named
在linux服务器上报错找不到包
原因:pycharm会自动将你的主函数路径加入到运行中去,但是在linux中运行不会自动添加,因此报错找不到包(路径)
解决思路:是把代码直接安装到python系统路径
---
①把整个代码的文件夹变成package(给里面加一个空的名为__init__.py的文件就行)
②然后建立一个新package把自己的代码整体放进去
大概长这样,gpu_cls是我的总代码,我用gpu-cls把它包起来了
③在gpu-cls下建一个空的setup.py文件,然后在gpu-cls/setup.py里面写
from setuptools import setup, find_packages
setup(
name="gpu_cls",
version="1.0",
keywords=("gpu_cls"),
description="eds sdk",
long_description="eds sdk for python",
license="MIT Licence",
url="http://gpu_cls.com",
author="gpu_cls",
author_email="gpu_cls@gmail.com",
packages=find_packages(),
include_package_data=True,
platforms="any",
install_requires=[],
scripts=[],
entry_points={
'console_scripts': [
'gpu_cls = gpu_cls.help:main'
]
}
)
名字自己改
④然后cd到setup.py的位置,运行两行代码安装
python setup.py build
python setup.py install
---
你就可以在脚本中用(装在系统库里的)你的代码了,有改动的话卸载重装一下
pip uninstall gpu-cls
ps:默认情况下,当前工程自定义包->文件->系统路径,顺序加载。