问题如下:代码在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:默认情况下,当前工程自定义包->文件->系统路径,顺序加载。
|